home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
095
/
rbbs_doc.arc
/
RBBS-PC.DOC
< prev
next >
Wrap
Text File
|
1987-06-07
|
353KB
|
6,742 lines
REMOTE BULLETIN BOARD SYSTEM
for the
IBM Personal Computer
Version CPC15.1
Copyright 1983, 1984, 1985, 1986, 1987
by
D. Thomas Mack
10210 Oxfordshire Road
Great Falls, Virginia 22066
VOICE -- (703) 759-4357
DATA #1 -- (703) 759-5049
#2 -- (703) 759-9659
Jon Martin
4396 N. Prairie Willow Ct.
Concord, California 94521
DATA -- (415) 689-2090
Ken Goosens
5020 Portsmouth Road
Fairfax, Virginia 22032
DATA -- (703) 978-6360
June 7, 1987
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
TABLE OF CONTENTS Page
----------------- ----
1.0 INTRODUCTION 5
1.1 The Capital PC User Group
1.2 The "contributions" requested for RBBS-PC
1.3 The "history" behind RBBS-PC 6
1.4 RBBS-PC Update Conventions 11
1.5 Beta Test Sites, Where and Why 12
1.6 An Example of "Users Helping Users" 14
1.7 What's new with CPC15.1B 15
2.0 RBBS-PC "BASE-LINE" HARDWARE AND SOFTWARE REQUIREMENTS 21
3.0 RBBS-PC's SUPPORT POLICIES 22
3.1 RBBS-PC's Vendor Support Policy
3.2 RBBS-PC's User Support Policy 25
4.0 OPERATING SYSTEM REQUIREMENTS 26
5.0 HOW TO GET A COPY OF RBBS-PC SENT TO YOU 26
6.0 FILES RBBS-PC USES 27
6.1 RBBS-PC System Files 28
6.2 RBBS-PC Text Files 30
7.0 INSTALLING RBBS-PC FOR THE FIRST TIME 31
8.0 THE MOST COMMON PROBLEMS ENCOUNTERED WHEN INSTALLING RBBS-PC 36
9.0 PLANNING YOUR USER INTERFACE 38
9.1 Menus Shown to Callers
9.2 Subsystem Prompts Shown to Callers
9.3 Commands Available to Callers 39
9.4 RBBS-PC's "Wrap-around" Command Search
9.5 How to Have a Single Universal Command Line 40
10.0 PLANNING ON HOW TO UNIQUELY IDENTIFY OF CALLERS 42
10.1 How to Set up Identifying and Individuation of Fields 43
10.2 Preloading Identities for Instant Access
11.0 RBBS-PC'S OPTIONAL AUTOMATIC SUBSCRIPTION MANAGEMENT 44
11.1 Setting it Up 45
11.2 An Example 46
12.0 USING THE "CONFIG" UTILITY TO CUSTOMIZE RBBS-PC 46
12.1 Global RBBS-PC Parameters (Part 1 of 3) 47
12.2 Global RBBS-PC Parameters (Part 2 of 3) 49
12.3 Global RBBS-PC Parameters (Part 3 of 3) 51
12.4 Parameters for RBBS-PC "text" Files 52
12.5 Parameters for RBBS-PC "system" Files 54
12.6 Parameters for RBBS-PC "Doors" 55
12.7 Parameters for RBBS-PC's Security 56
12.8 Parameters for Multiple RBBS-PC's/Conferences 58
12.9 RBBS-PC SYSOP Utilities 59
12.10 Use of DOS Subdirectories 60
12.11 Communications Parameters 63
12.12 Parameters for RBBS-PC NET-MAIL 66
12.13 New Users Parameters 67
Page 2 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
TABLE OF CONTENTS (continued) Page
----------------------------- ----
13.0 THE HAYES MODEM SWITCH SETTINGS AND CONSIDERATIONS 67
13.1 Hayes Modem Switch Setting Considerations
13.2 Hayes Command's Considerations 68
13.2.1 Command to Initialize the Modem 69
13.2.2 Command to Set Up the Modem
13.2.3 Command to Determine What Ring to Answer On 70
13.2.4 Command to Answer the Phone
13.2.5 Command to Take the Phone Off the Hook
13.2.6 Commands to Initialize the Modem Firmware 71
14.0 RBBS-PC's FILE MANAGEMENT SYSTEM 71
14.1 Using a Single Master Directory 74
14.2 Reasons It May NOT be Possible to Use
a Single FMS Directory 75
15.0 SETTING UP ".BAT" FILES FOR RBBS-PC 76
16.0 THE USE OF RBBS-PC "DOORS" 77
17.0 THE SECURITY FEATURES OF RBBS-PC 79
17.1 RBBS-PC's Security Features 80
17.2 Examples of Uses for RBBS-PC's Security System 81
17.3 How to Implement the Password File 82
17.4 How to Implement the Security for Download Files
17.5 How to Implement the Security for RBBS-PC Commands 84
17.6 Beware of the "Trojan Horse" 85
18.0 SYSOP FUNCTIONS 86
18.1 SYSOP Commands Within RBBS-PC
18.2 SYSOP's Use of Function Keys 87
19.0 DOS LIMITATIONS ON RUNNING PROGRAMS REMOTELY 89
19.1 How to Get DOS to Monitor Carrier Detect
19.2 How to Redirect Graphic Displays to Remote Users 90
20.0 CONFERENCING WITH RBBS-PC 90
21.0 RBBS-PC's QUESTIONNAIRE FACILITY 92
22.0 RBBS-PC's Standard Interface for Protocol Drivers 95
22.1 Parameters passed to a protocol driver
22.2 Parameters returned by a protocol driver 96
22.3 The protocol drivers available for RBBS-PC 97
22.3.1 Columbia University's KERMIT Protocol
22.3.2 YMODEM, YMODEMG, and IMODEM
23.3.3 Windowed XMODEM
23.0 UPLOADED FILE TIPS 98
24.0 DUE WARNING AND SYSOP'S LEGAL LIABILITY 98
25.0 COMPILING AND LINKING RBBS-PC 99
25.1 Compiling CONFIG and RBBS-PC
25.2 LINKing CONFIG
25.3 LINKing RBBS-PC 101
26.0 LIMITED LICENSE 101
Page 3 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
TABLE OF CONTENTS (continued) Page
----------------------------- ----
27.0 LIMITED WARRANTY 101
28.0 UPGRADING FROM CPC14-1D TO CPC15-1B 101
29.0 PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE 102
30.0 RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD 103
APPENDICES:
A -- RBBS-PC Record Formats 105
B -- RBBS-PC in a DESQview Environment 109
C -- RBBS-PC in a MultiLink Environment 113
D -- RBBS-PC in a CORVUS Network 115
E -- RBBS-PC in an ORCHID or AST PCnet Network 116
F -- RBBS-PC in an Alloy PC-Slave/16 Environment 119
G -- RBBS-PC and 10-NET Network 125
H -- RBBS-PC and the Hearing-Impaired 126
I -- RBBS-PC and the IBM PCjr 127
J -- RBBS-PC Subscription Service 129
K -- RBBS-PC National Listing Service 130
L -- RBBS-PC and the Ark-Paradyne Modem Switch Settings 131
M -- RBBS-PC and the Anchor Signalman Express (MK12) 133
N -- RBBS-PC and the Everex 2400 Modem Switch Settings 134
O -- RBBS-PC and the Promethus 2400G Modem Switch Settings 135
P -- RBBS-PC and the U.S. Robotics Courier 2400 Switch Settings 136
Q -- RBBS-PC and the FASCTOMM 2496 Turbo Modem 137
R -- RBBS-PC and the AT's RS-232 Cable 139
S -- RBBS-PC and BASIC Compiler Patches for "Doors" 140
T -- Using RBBS-PC to access Data Bases Remotely 145
Page 4 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
1.0 INTRODUCTION
----------------
RBBS-PC is a Remote Bulletin Board System for the IBM personal computer,
hence the name RBBS-PC. RBBS-PC has two fundamental purposes --
A. to be a catalyst for the free exchange of information, and
B. to serve as an educational example of what can be done with BASIC.
I distribute RBBS-PC under the trademark "Userware" because RBBS-PC is
the sure and present proof that software which is shared becomes better
than it was. RBBS-PC is the result of many thousands of man-hours of
effort and is what it is today because of the many software
contributions and suggestions by members of the Capital PC Users Group
and others. Everyone has something that they believe strongly in. For
me it is the "Userware" concept and the free exchange of information.
As John Naisbitt states in his book, MEGATRENDS,
"...the new source of power is not money in the hands of
a few, but information in the hands of the many."
For this reason I have devoted the time I have in writing, maintaining,
and enhancing RBBS-PC over the years. The reason that I am the
registered copyright owner of RBBS-PC and grant the limited license that
I do is to primarily insure that these purposes are not abrogated.
1.1 The Capital PC Users Group
------------------------------
Because the fundamental purposes of RBBS-PC and the Capital PC Users Group
are similar, I package and forward each new version of RBBS-PC to the
CPCUG's Software Exchange for distribution. The Capital PC User Group is a
Maryland Corporation whose "legal name" is the Capital PC User Group Inc.
The CPCUG is an all-volunteer, non-profit organization of according to
Section 501C4, Social Welfare, of federal law. All revenues are re-
invested in and applied to the CPCUG's education programs.
1.2 The "contributions" requested for RBBS-PC
----------------------------------------------
The "contributions" requested for RBBS-PC can be one of four types:
A. Modifications to RBBS-PC, itself, that are documented and
distributed as .MRG files against the "base-line" source code that
other SYSOP's might elect to incorporate into their version of RBBS-
PC (remember RBBS-PC can not be distributed in modified form with
violating both the RBBS-PC copyrights and the limited license
granted with it's use).
B. Publicly distributable software. It can either be "public domain"
(i.e. software which the author has relinquished all rights and
which may be appropriated by anyone for use in any way), or publicly
distributable software (i.e. software in which the author has
retained his rights and which may only be used according to the
conditions under which the author has designated).
C. Equipment or services. Be inventive in light of the CPCUG's
objectives under 1.1. If you or your organization can donate
equipment, software, supplies, or services to the CPCUG, feel free
to do so. If you are so inclined, but before you do so,
contact the Capital PC User Group, 4520 East-West Highway, Suite
450, Bethesda, MD 20854. For general information about the
appropriateness of the bequest, contact the Capital PC User Group
directly.
Page 5 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
D. The last level of "contribution" is merely money. This is the one
commodity that we are willing to exchange among each other without
first having obtained the respect, consideration, etc. of the
other party. It is perhaps the easiest to give as it exonerates
us from the other levels of "contribution." CPCUG is an all
volunteer organization and, of course, money is seldom
plentiful. However the essence of CPCUG is the time, ideas,
and effort that each of the volunteers contribute to it. For this
reason, while money is always appreciated, money is not the best
or even the second-best type of "contribution" you could make.
Independent of whether you can donate enhancements to RBBS-PC, publicly
distributable software, equipment, services, supplies, or money,
consider becoming a member of CPCUG. If you wish to become a member of
CPCUG, simply send your name, address, home/work phone numbers along with
$25 to CPCUG, 4510 East-West Highway, Suite 550, Bethesda, MD 20814.
If in the final analysis you feel that you can do none of the above,
o remember those who have,
o enjoy what they have nurtured, and
o keep the faith with those who have gone before you.
1.3 The "history" behind RBBS-PC
--------------------------------
Electronic bulletin board systems have been around ever since personal
computers existed. The first ones were very primitive and usually
consisted of some posted notices and maybe allowed for on-line messages.
It must be remembered that the IBM PC was only announced in August of 1981
and first became available in October of 1981. Therefore it is not
surprising that the early history of BBS' is associated with non-IBM
personal computers.
The "early history" of bulletin board systems began around 1978 in Chicago
with the CBBS/Chicago (Computerized Bulletin Board System/Chicago). It was
created by Ward Christensen and Randy Suess -- members of the Chicago Area
Computer Hobbyist Exchange (CACHE). CBBS for the CP/M is written in 8080
Assembler language (11,000 lines of it) and, like the early versions of
RBBS-PC (i.e. prior to CPC12-5A), detects the baud rate and the parity of
the user when he first signs on from the three carriage returns that the
user must enter.
About the same time, Bill Abney wrote a BBS for the Radio Shack TRS-80
Models I and II called Forum-80.
The earliest BBS that I know of was written for the Apple (who else had
personal computers in those days?) called the "Apple Bulletin Board System"
(ABBS). It was written by Craig Vaughn and Bill Blue. They later created
another bulletin board system for the Apple II called the People's Message
System (PMS).
Another Apple bulletin board system that came into being was for the Apple
II, II+, and IIE as well as the Franklin Ace and it was called the
CommuniTree. It was written in the FORTH language by Dean Gengle and
several others.
When IBM announced its first personal computer, the IBM PC, in August of
1981, there was no BBS for it. In the summer of 1982, Brad Hanson found a
prototype version written by Russ Lane in IBM's BASIC on David Crane's
Dallas R/CPM\CBBS system. Brad added many fixes and modifications. In the
first half of 1983, many members of the Capital PC Users Group's
Page 6 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Communication Special Interest Group (SIG) such as Larry Jordan, Rich
Schinnell, Gary Horwith, Jim Fry, Scot Loftesness, and Dorn Stickle further
enhanced it and added XMODEM file transfer capability until it became known
as RBBS-PC CPC 09 in May of 1983. At that time each feature or
modification was identified by a new version number; it still ran only
under the BASIC interpreter; and was both relatively slow (because of the
interpreter) and somewhat unstable (it would normally "crash" at least once
each day).
Late in May of 1983, I asked Rich Schinnell if there was any "bulletin
board" software available for the IBM PC written in BASIC. Rich told me to
give Larry Jordan a call. Larry said that he was just getting CPC09 ready
to send to Rich Schinnell who at that time was Director of the Capital PC
User Group's Public Domain Software Library and that I could get it from
Rich. I did, and still have the diskette just as Rich sent it to me --
dated June 22, 1983.
Bulletin board systems, historically were the result of a single person or
small group of persons' efforts and tended to serve a very narrow interest
group -- typically those interested in the medium itself (i.e. PCs,
programming, communications, etc.). This was true up to and including
RBBS-PC CPC09. In fact, most of the incentive to get the public domain
versions of RBBS (CPC09 and earlier) functioning was to introduce the
XMODEM protocol to the IBM PC-based community. In this CPC09 was
successful and may have been the primary incentive for XMODEM to be
included in PC-TALK at all.
Since June of 1983 I have authored and released TWENTY-EIGHT versions of
RBBS-PC and distributed them exclusively through the Capital PC User Group
under the limited license described in chapter 26 of this documentation.
At this time RBBS-PC appears to have become the "industry standard" for
IBM-type personal computer bulletin board systems. However, even from the
very beginning BBSs have excelled whenever:
a.) there was a geographically dispersed audience,
b.) with a need to exchange highly complex/technical information,
c.) in a timely and accurate manner.
RBBS-PC's impact has been to open an entirely new medium of communications
between people. Rather than as an end in and of itself, RBBS-PC has come
to serve as a means to an end -- the free exchange of ideas. On a
technical level it is certainly an example that shows "real programmers
can/do program in BASIC." I would like to think that RBBS-PC had something
to do with IBM and Microsoft coming out with new versions of the BASIC
compiler that support communications, sub-routines, local and global
variables, file-locking in a networking environment, etc.
RBBS-PC represents a fundamental cornerstone, not just a phase, in what can
be viewed as a "social renaissance." The three areas that I mentioned
earlier in which bulletin boards excel seem to ebb and flow within
communities and organizations. RBBS-PC provides an almost instantaneous
mechanism by which these needs can be met. Many of the Big 8 accounting
firms bring up RBBS-PC's just to fulfill one contract so that the various
geographically disbursed members on the contract can communicate across
time zones and continents. Unlike radio, newspapers, and television --
RBBS-PC provides a vehicle within which information can be EXCHANGED! That
is what makes RBBS-PC so unique. Because the exchange is written, it is
structured. Because it is structured, it can be thoughtful.
Page 7 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
The "social renaissance" that RBBS-PC represents is the electronic
elimination of those barriers that had previously inhibited the "exchange"
of information within our society. RBBS-PC provides every personal
computer owner with his own "soap-box" in a national Hyde Park. Previously
the channels of communication had built-in barriers to "exchange"; with
RBBS-PC those barriers begin to cease to exist.
While only the most fanatical RBBS-PC trivia experts may be interested,
I've gone back and checked all the documentation and releases of RBBS-PC
that I've authored and here is the tedious chronology:
RBBS-PC Version Release Date of Major Enhancements
Number First Version
CPC10.0 07/04/83 RBBS-PC first written to be compilable by
IBM's BASIC compiler, version 1.0
CPC11.0 08/10/83 RBBS-PC restructured so that all parameters
were external (i.e. in the RBBS-PC.DEF)
allowing SYSOPs who didn't want to spend
the $300 for the BASIC compiler to tailor
RBBS-PC to their taste. CONFIG.BAS was
first written to generate RBBS-PC.DEF.
CPC11.1 09/15/83 Jon Martin contributed UTSPACE.OBJ, a sub-
routine that allowed the compiled version of
RBBS-PC to determine the amount of free
space available for uploading.
CPC11.2 10/01/83 The error trapping within RBBS-PC was
completely re-written to be more
comprehensive.
CPC12.0 10/28/83 Tree-structured file directories and the
ability to detect that RBBS-PC was in a
"MultiLink" environment were incorporated.
"MultiLink" is a product of the Software
Link, Inc. which allows DOS 1.1, 2.0, 2.1,
3.0 and 3.1 to be "multi-tasking."
CPC12.1 12/18/83 The ability for a SYSOP who signed on
(Versions A-F) remotely to drop into DOS was added. Also
the "New" command was added that allowed
users to determine what new files had been
made available since the last time they were
on.
CPC12.2 04/08/84 The security system designed by Ken Goosens
(Versions A-D) was incorporated. RBBS-PC's security system
has an elegance unmatched even by the
largest mainframe. Essentially the security
system designed by Ken is "self-locking
lock" and, even though RBBS-PC's source code
is distributed, it's security system has
remained unbroken. Of course, SYSOPs who
didn't adhere to RBBS-PC's security
structure have had their system "crashed"
and every SYSOP should operate as if the
very next caller could crash his system.
Page 8 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
RBBS-PC Version Release Date of Major Enhancements
Number First Version
CPC12.3 11/11/84 This was almost as complete and as major a
(Versions A-B) re-write of RBBS-PC as CPC10.0 had been.
Beginning with CPC12.3 up to nine RBBS-PCs
can share the same files in either a multi-
tasking DOS environment (i.e. MultiLink from
the Software Link, Inc.) or in a local area
network environment (i.e. Corvus or Orchid).
CPC12.4 03/10/85 RBBS-PC's stature in the industry became
(Versions A, recognized when, as author of RBBS-PC, I
A1, and B) was granted a license by Microcom to
incorporate their proprietary MNP protocol
into RBBS-PC. Almost at the same time many
manufactures recognized the institution that
RBBS-PC had become in our industry and
elected to include "RBBS-PC compatibility"
in their minimum criteria for the
introduction of their new products. RBBS-
PC's Vendor Support Program is more fully
explained in the RBBS-PC documentation but
one direct result of this was the intro-
duction of 300/1200/2400 BAUD support in
CPC12.4A before most such modems were
generally available.
CPC12-5 07/14/85 RBBS-PC was enhanced to allow 36 copies of
(Versions A RBBS-PC to share the same files in a network
and B) environment. RBBS-PC automatically answers
the phone and no longer requires each caller
to enter up to 3 carriage returns in order
for RBBS-PC to detect the users baud rate
and parity. Logon to RBBS-PC has been made
much more efficient with the USERS file no
longer being searched sequentially and the
MESSAGES file no longer being read three
times. Version CPC12-5B, released August
25, 1985, WAS THE LAST VERSION COMPILABLE BY
VERSION 1.0 OF THE IBM BASIC COMPILER!
CPC13-1 12/01/85 RBBS-PC was completely rewritten to be
(Version A) compilable by both the Version 2.0 of the
IBM BASIC compiler ($495 list price) and
Microsoft's QuickBASIC Version 1.0 ($99 list
price). XMODEM with CRC was added as a file-
transfer protocol as well as the ability to
display on the color monitor of the PC
running RBBS-PC the color/graphics that the
remote user sees exactly as he sees them.
CPC14-1 03/16/86 RBBS-PC's internal structure was split into
(Versions A, two parts -- a RBBS-PC.BAS for the main-
B, C, and D) line source code and logic and a RBBS-
SUB.BAS for commonly called subroutines.
This allows unlimited growth for RBBS-PC by
providing multiple "code segments" within
RBBS-PC. Support for on-line
questionnaires, auto-downloading, and the
Columbia University-sponsored KERMIT
Page 9 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
RBBS-PC Version Release Date of Major Enhancements
Number First Version
protocol were also included as well as the
option to utilize assembly language
subroutines to increase for better
performance over their BASIC counterparts.
CPC15-1A 03/15/87 RBBS-PC's internal structure continued to
(Versions A become significantly more modularized and
and B) structured. Major enhancements included a
File Management System for directories,
additional file exchange protocols, support
for managing subscriptions, the ability to
run as a local application on a network,
configurable command letters, the ability to
use any field or to define a new field to
identify callers, the ability to individuate
callers having the same ID, multiple uploads
on a single command line, new A)nswer and
V)erbose ARC list commands, and context
sensitive help.
During the evolution of RBBS-PC I have had the distinct privilege of
working with many contributors. Contributions have ranged from
suggestions, to software fixes, to significant enhancements, to improved
documentation. While I have met very few of these people personally, those
whose names I remember are:
Doug Azzarito Jim Fox Ronald Koridon James Reinder
Jeff Batdorf Warren Fox Steve Lieber Jacques Rodrigue
Rod Bowman John Friel Steven Linhart Dick Rohrdanz
Randy Brodersen Mitch Geier Joseph Lionelle Rich Schinnell
Mike Brown Asa Fulton Scott Loftesness Mark Seiden
Sam Brown Jim Fry Harry Logan Andrew Silber
Mike Button Kent Galbraith James Ludwick Carl Spencer
Vince Castelli John German Matt Malden David Staehlin
Rob Cecchino Read Gilgen Carl Margolis Stan Staten
Tom Collins Ken Goosens Jon Martin Dorn Stickle
Drew Commins Dave Hacquebord Robert Mahoney Terry Steichen
Ezra Conger Steve Harrison Sidney Markowitz Randy Sun
Ed Copley Gary Hoff Louie McCaw Yew Seng Tan
Richard Couture Gary Howrith Wes Meier Terry Taylor
Dave Crane Charlie Innusa John Morris Jan Terpstra
Everett Delano Loren Jones Bill Newkirk David Terry
Don Dewall Larry Jordan Jeregen Nordhausen Arnold Thomsen
Charles Doughty Robert Jueneman Harvey Pierce Clark Walker
Jack Fond Vern Kallegin Danny Plunkette Kim Wells
Randy Fuchs Dave Kleinschmidt Jeff Porter Bob Westcott
Robert White
Special thanks goes to Ken Rogers of the United States Department of
Commerce without whose perception and requests for enhancements for the
Department of Commerce's ECONOMIC BULLETIN BOARD configurable commands and
automatic subscription support would not have been incorporated into
version 15-1A of RBBS-PC.
To those whose names have not been mentioned -- apologies are extended.
Take comfort in knowing that you live on in the work that you have wrought.
Jon Martin is primarily responsible for whatever technical excellence that
exists in RBBS-PC -- including the ability to have multiple RBBS-PC's share
Page 10 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
the same files. I am not a programmer and didn't even know BASIC until I
started writing RBBS-PC and released RBBS-PC CPC10.0 in July of 1983.
Jon's commitment to RBBS-PC has at least matched my own. Despite my own
ineptness, Jon's patience, understanding, and technical insights have been
unfailing over these several years and, I would like to both publicly
acknowledge his contributions to RBBS-PC and express my appreciation for
his efforts on behalf of RBBS-PC.
I'd also like to mention Ken Goosens' efforts on behalf of RBBS-PC. Ken
took the time and trouble to wade through the BASIC source code and
incorporated the "security" system that exists within RBBS-PC today.
Anyone who looked at the source code prior to release CPC12-2A can
appreciate the magnitude of Ken's efforts.
I wish space allowed me to chronicle the contributions of each of the
contributors to RBBS-PC. In an age of cynicism, RBBS-PC and the
Userware concept represents an opportunity for each of us to give back to
the world something a little better than when we found it. As I said in
chapter 1, this is something that I believe in strongly. To each of the
contributors to RBBS-PC I would like to say personally
"I am very proud of the company that RBBS-PC keeps."
All changes to RBBS-PC since CPC10.0 have been "ADDITIVE." By that I mean
CPC12.5B will run the same way as CPC10.0. I felt that users should not
be forced to choose between features (i.e. I can run either the features
on CPC11.2 or the features on CPC12.1).
1.4 RBBS-PC Update Conventions
-------------------------------
RBBS-PC continues to evolve and be "debugged." The following coding
conventions have been helpful in the past and you are requested to observe
them in the future:
Updates consist of two types of ASCII files. One called xxxxxx.MRG which
are the BASIC source statements for the particular base-line source
code component of RBBS-PC to be updated. The lines that have been modified
are indicated as being so modified with a comment beginning in column 70 in
the format as follows:
4330 QUICK.SCAN.MESSAGES = FALSE ' CPC14-1D
These .MRG files can be applied to the base-line source code via Ken
Goosens Batch Line EDitor utility program (BLED). The BLED utility can
easily create .MRG files as it has both a file compare and file merge
function that is specifically geared to the new BASIC compiler's
capabilities that allow lines of source to be unnumbered.
The second file type is called xxxxxx.DOC. It describes on a line-by-line
basis the specific functions added or bug that was fixed. Obviously
xxxxxx can be anything you wish to name it. The second type of file is
what allows me to integrate several .MRG files and resolve whatever
conflicts that may exist.
The RBBS-PC naming conventions of CPCxx.x are roughly as follows:
1. If a "bug" is being fixed CPCxx.x will be given a .MRG file name such
as CPC14-1D.MRG with a corresponding CPC14-1D.DOC file describing the
changes. The first version of CPCxx.x is always "A". When you
logon to RBBS-PC the version will be displayed.
Page 11 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
2. If, after a release is released, bugs are reported and fixes are found
for them, they are distributed via an FIXmmdd.ARC file which contains the
necessary files to apply the "temporary fixes" against the released version
of the source code and re-compile the source code.
3. If a new feature or enhancement is added the last digit in the CPCxx.x
will be incremented by one (i.e. CPC12.2D was followed by CPC12.3A).
4. If a significant change to source code or logic occurs, the first two
digits of the release level will change (i.e. CPC14.1 was followed by
CPC15.1) The purpose of these conventions is to allow everyone to know
what RBBS-PC level they are running under (users as well as SYSOPs) and
understand the logic behind the changes/fixes as they occur so each SYSOP
can evaluate them for his own needs. If you have comments or fixes please
let me know so that they can be reflected in the RBBS-PC program and shared
with all other users. You can do that by sending your changes by mail to:
D. Thomas Mack
10210 Oxfordshire Road
Great Falls, Virginia 22066
or uploading the changes to either of my RBBS-PC lines -- (703) 759-5049 or
(703) 759-9659.
While comments and suggestions are always welcome, those that are
accompanied by the RBBS-PC source code changes that implement them carry a
lot more weight than those that don't.
1.5 Beta test sites, Where and Why
-----------------------------------
A lot of people volunteer to be "beta test" sites. For those that do it is
fitting that you know why each release of RBBS-PC is "beta tested" and what
it takes to be "beta test" site.
Why "beta test" RBBS-PC? Well, the answer should be self-evident. RBBS-
PC has two primary goals -- one of which is "to serve as an educational
example of what can be done with BASIC" (see chapter 1). The "beta test"
process seeks to put each new release in as varied as an environment as
possible in order to resolve bugs in the new features as well as assure
that old bugs are not re-introduced by the addition of new features. Why
bother? One reason is simple, professional pride in what RBBS-PC is -- the
bulletin board standard for the IBM PC industry. Another reason is the
recognition of our responsibility to those who have contributed to RBBS-PC
and the obligation to not let them down by putting out a shoddy product.
What does it take to become a "beta test" site. There are essentially only
12 criteria for becoming a beta test site. First it takes a demonstrated
knowledge of the logic (or lack thereof) within RBBS-PC. To demonstrate
this users who become "beta test" sites will have either contributed
significant enhancements to RBBS-PC or contributed significant fixes to the
more esoteric "bugs" that have cropped up in RBBS-PC.
The second requirement is a commitment to the "Userware" concept as
described in chapter 1 of this documentation. This requires that you
insist on accepting neither personal recognition, monetary reward, nor
benefit for your contributions to RBBS-PC -- except the self-satisfaction
in knowing that whatever you contributed made RBBS-PC (and hopefully) the
PC world better than it might otherwise have been. This is often the most
difficult requirement for those who would be "beta testers." RBBS-PC does
not exist to be a means to some individual's personal gain or ego
gratification. Too many people have contributed too selflessly of
Page 12 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
themselves to RBBS-PC for this to ever be allowed to happen. For those
for whom this is a too difficult requirement, RBBS-PC's totally open
architecture provides the .MRG/.DOC mechanism (documented in section 1.4)
to allow individual authors of software modifications to RBBS-PC to both
achieve individual recognition and monetary reward from those RBBS-PC
SYSOP's who want to incorporate such merges and features into their
versions of RBBS-PC. Please note that distribution of .MRG and .DOC files
is totally consistent with the limited license that is granted with RBBS-
PC. Also note that distribution of modified versions of RBBS-PC is in
violation of RBBS-PC's limited license agreement.
Thirdly, you must be willing to work within the three self-imposed
constraints of RBBS-PC (i.e. that it contribute to the free exchange of
information, be an educational example of what can be done with BASIC, and
that all changes must be "additive."). This requires that you be willing
to work within the confines and limitations of the BASIC language, not
eliminate earlier functionalities within RBBS-PC (only add new ones),
and ALWAYS strive to structure RBBS-PC so as to foster the free exchange of
information.
The other nine "beta test" requirements in order to become a beta test site
require that you must be willing to:
1. Run unmodified versions of the new version of RBBS-PC.
2. Not release any part of what you are beta testing to anyone else.
3. Be willing to have your entire system and hard disk be vulnerable
to software flaws in the new version of RBBS-PC.
4. Be willing to FIX the bugs you encounter -- simply reporting
them is not enough!
5. Live with the bugs that aren't fixed until they are fixed.
6. Be willing to call and discuss via voice problems (at your
expense -- not mine).
7. Be willing to call and download (almost daily during the "beta
test" period) 450K files also at your expense.
8. Live with the fact that whatever you are beta testing is not
going to be what is actually released and that you will probably
have to download what is actually released just like every one
else.
9. Be charitable about the author's programming skills.
Needless to say, those few who participate in each new release of RBBS-PC
typically are not the same people from release to release. This is because
of the intensity and time that the relatively short beta test period
(typically two weeks or less) makes on the beta testers. Another
constraint is my abilities to adequately respond to more than two or three
beta testers at most. Finally, like owning a swimming pool or a boat,
everyone wants to be a beta tester once! There is little glory and lots of
pain. Luckily, Jon and I usually divide up the beta testing based on who
lives east and west of the Mississippi river in order to have as many beta
test sites as possible.
Most of the credit for RBBS-PC CPC15-1B being better than the earlier
versions goes to the following beta testers:
East Coast West Coast
---------- ----------
Rob Cecchino, Virginia Beach, Va. Rod Bowman, Alta Loma, Ca.
Ken Goosens, Washington, D.C. Loren Jones, Fargo, N.D.
Dave Hacquebord, Tampa, Florida Gene Lowry, Tuscon, Az.
Kim Wells, Largo, Maryland Terry Taylor, San Leandro, Ca.
Stan Staten, Gaithersburg, Md. Mike Brown, Madison, WI
Page 13 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
1.6 An Example of "Users Helping Users"
---------------------------------------
The ability to have multiple RBBS-PC's running concurrently -- either on a
single PC in a multitasking DOS environment or in a local area network, is
a concrete example of the concept of "users helping users" in action. This
ability was developed in support of the efforts of the State of West
Virginia Department of Education's "West Virginia Microcomputer Educational
Network" project. It is the first statewide microcomputer network and
encompasses all of the state's 1,125 schools in 55 different school
districts. Each school is intended to have the capability of
accommodating up to twenty IBM PC's in a local area network sharing a
common 20MB disk drive. As of June of 1984, 83 of the 1,125 schools had
such networks. Each PC can communicate with either the LAN, a central
library, or with other schools in order to share programs and materials.
The key component for this communication is RBBS-PC. In a presentation at
the U.S. Department of Education in Washington, D.C. on June 22, 1984, the
role RBBS-PC plays was described as follows:
"The medium that ties the entire system together -- that
allows for communication not only between one school and
another but also between schools and the central library
-- is an electronic bulletin board (RBBS-PC) This
bulletin board will be in operation 24 hours a day at
the central site, with a similar bulletin board in
operation at every school.
The local school bulletin board (RBBS-PC) could be
accessed by students who wish to review their lesson or
take a test at home provided they had a computer and a
modem. Teachers could access their grade book or other
reports and lessons at home in preparation for the next
school day.
Neither bulletin board system (RBBS-PC) requires
personnel to answer telephones or transmit files. They
are both totally unmanned and operate 24 hours a day.
No toll charges, of course, would be assessed for
calling the local school bulletin board and toll free
800 numbers are used for accessing the central library."
The State of West Virginia arranged to have the vendors involved, IBM and
Corvus, make the appropriate equipment available on a "loan" basis so that
RBBS-PC could be developed to work in a local area network environment.
Since this project conformed so closely to the primary objectives of RBBS-
PC, we agreed to volunteer our time and take on the task of enhancing RBBS-
PC to allow up to nine (9) copies of RBBS-PC to execute concurrently
sharing many of the same files. On a single PC the maximum number of
concurrently running RBBS-PC's within the same DOS is limited only by:
a. the number of communications ports installed on the PC.
IBM's limit is two (COM1 and COM2), but other vendors
supply "add-on" cards which provide for up to eight or
more communications ports on a single PC.
b. the number of communications ports that the IBM BASIC
compiler can read and write to. IBM's limit is two
(COM1 and COM2).
c. the number of concurrently running tasks that can be
supported. IBM's DOS is limited to one task. Other
vendors provide "add-on" software to IBM's DOS that
Page 14 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
provides for up to nine simultaneous tasks.
Within a network environment (i.e. multiple PC's linked together sharing
the same devices) the maximum number of concurrent RBBS-PC's is set by
RBBS-PC's internal design to nine (9). This design was based on the fact
that anyone who wanted to run nine RBBS-PC's sharing the same set of files
would take the $46,000 needed to buy nine PC's with modems, network
interface cards, hard disk (at least 20MB) and purchase a minicomputer for
the same amount of money with more ports and storage. CPC13-1A was updated
to allow for 36 RBBS-PC'S to share the same files. For those interested
in further information on the State of West Virginia's Microcomputer
Educational Network, please contact:
Mr. John E. Cook
State of West Virginia Department of Education
1900 Washington Street East
Building 6, Room 221, Capital Complex
Charleston, West Virginia 25305
1.7 What's New with CPC15-1B
----------------------------
RBBS-PC CPC15-1B is just a maintenance release containing fixes to CPC15-
1A. RBBS-PC CPC15-1B will be the 29th release of RBBS-PC CPCxx since it
was first published in July of 1983. RBBS-PC's policy of freely
distributing the source code and continually expanding it's range of
capabilities throughout these last four years represents not only the very
best that is embodied in the concept of "users helping users" but an
expectation of excellence that NO product in the PC industry has ever even
approached. Here is a brief summary of the major enhancements in RBBS-
PC that began with CPC15-1:
o SPEED! RBBS-PC runs significantly faster.
o STRUCTURE! Code has been made easier for users to modify. There
is more room in the main code segment and RBBS-PC more efficiently
uses string space.
o MINIMUM SYSOP MAINTENANCE REQUIRED! There is a new, but optional, FILE
MANAGEMENT SYSTEM (FMS) that can be set up so that the SYSOP no longer
need maintain his file system "directories." Users can be allowed to
automatically categorize the files they upload. The new entry will be
written to the file management system and, optionally, strewn to a
second file that a SYSOP might wish to edit and insert an evaluation
or comments about the uploaded files. The speed of file searches has
been increased from 10 to 100-fold. A caller can download in the midst
of listing files, and the listing will resume where it left off after
downloading is completed.
o ADDITIONAL FILE TRANSFER PROTOCOLS! More error checking protocols for
file exchange. Now support exists for YMODEM, WINDOWED XMODEM,
YMODEMG, and IMODEM in addition to KERMIT, XMODEM (checksum) and
XMODEM (CRC).
o LAN ELECTRONIC MAIL! RBBS-PC can be run as a "workstation" appearing
on the local PC's screen exactly as it would to a user who had dialed
in as remote user. In "workstation" mode, RBBS-PC can be run on a PC
without either a modem or a RS-232 interface. It can serve as an
electronic mail system on a local area network in "workstation" mode
(up to 36 stations) or as a teaching tool in a classroom environment
to demonstrate RBBS-PC's full range of features.
Page 15 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
o STORE-AND-FORWARD "NET MAIL" SUPPORTED! RBBS-PC can be called by such
"store-and-forward" network mail applications as "SeaDog" from System
Enhancement Associates (the same guys who brought the ARC utility to
the PC environment).
o ALL COMMANDS CONFIGURABLE! The symbols used for the RBBS-PC commands
are configurable. Any command can be disabled. Users see only what
commands they have sufficient security to execute. A SYSOP can even
configure RBBS-PC so that any command can be executed from any sub-
section. All of this is, as always, optional. RBBS-PC tries to
strive to let each SYSOP have total autonomy (rather attempt to
restrict).
o MULTIPLE QUESTIONNAIRES! The new command A)nswer command allows
multiple optional questionnaires to be set up that users can
selectively answer. A SYSOP can put up a questionnaire at anytime
that all users (both new and old) must answer. A new command has been
added to the questionnaire script language that allows the SYSOP to
elect to have nothing written to the script's data file.
o USERS CAN VIEW ARC FILES! Users can obtain a verbose listings of the
the contents of an ARCed file prior to downloading it.
o TOTAL USER CONTROL OF PREFERENCES! A user can now T)oggle on/off any
of his preferences.
o UNIQUE USER ID'S! With RBBS-PC CPC15-1A, any field (not just the
users name) can be used to uniquely identify users. More than one
user can have the same ID (everyone in a the same SIG) and still have
unique names. A new field for whatever the SYSOP wants to use to
identify users now exists within the Users record. Users can be added
with no pre-assigned password (i.e. the first caller who uses the name
is allowed to set the password). RBBS-PC can be set up so that valid
accounts are pre-loaded and users can be given INSTANTANEOUS access at
the discretion of the SYSOP, e.g. when the users becomes a member of a
user group or SIG.
o MULTIPLE UPLOADS! Just as earlier versions of RBBS-PC allowed for
multiple downloads, CPC15-1A now allows multiple file names to be
specified on a single command line when uploading.
o BUILT-IN SUBSCRIPTION SERVICES! RBBS-PC CPC15-1A has built in support
for limiting callers based on a subscription date. A subscription
period can be specified for every security level, and the security a
caller gets when his subscription expires is specifiable. This allows
automatic support for SYSOP's who request users to purchase
subscription to their boards or for time-limited privileges. Stored
in each caller's record is the date the subscription began.
o COMMAND-LEVEL HELP! Help files can now be specified not just by section,
but by individual command, as well as a menu of SYSOP-specified
special topics, such as ARC files.
o MUSIC! The SYSOP can elect to have the PC running RBBS-PC to play a
musical refrain each time a user selects specific functions (i.e.
"Walk right in" when a new user logs on; "Dragnet" when a security
violation occurs; "Goodbye Charlie" when a user logs off; "Taps" when
a user is denied access; "OOM PAH PAH" when a user downloads; "Thanks
for the Memories" when a user uploads). The auditory feedback enables
SYSOPS to focus on other activities without having to watch the local
screen. More importantly, this type of auditory feed-back is intended
Page 16 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
to aid SYSOP's who are visually impaired.
o CONSTRAINTS OF EARLIER VERSIONS LIFTED! Many of the constraints that
existed in versions of RBBS-PC prior to 15-1A have been lifted. some
of them are:
The upload directory need not be present on the same
drive/subdirectory that uploaded files are written to.
When the users file is full, new users need no longer be kicked
off the system. Instead, they can be let on but not remembered,
i.e. not be written to the users file. On subsequent calls,
they will remain new users and must re-register.
RBBS-PC can be logged on to from the keyboard of the PC on which
it is running (without calling through a modem) and will respond
to the PC's screen in the same manner as a remote user would see
it.
First and last names can have interior blanks. Initial blanks
are still not allowed, and trailing blanks are still ignored.
SYSOPs can now type while caller is entering a message and their
keystrokes will be freely mixed in with those of caller. In
earlier versions of RBBS-PC, a SYSOP's local typing was ignored
during message entry.
The file description for uploads can be up to 46 characters
long.
The speed with which text files, such as menus, are displayed,
can be increased by enlarging the buffer size used within 15-1A
for displaying ASCII files via a parameter in CONFIG.
Viewing the upload directory (or the uploads with the default
category code) is controlled by the users security level.
Before, if you made the upload drive not available for
downloading, only the SYSOP could view the upload directory.
o BETTER ERROR TRAPPING! RBBS-PC CPC15-1 now detects and reports any
problem when writing during an upload.; recovers from any problem when
trying to kill a file already present before an upload; and traps all
bad paths in a file name.
o BETTER PROMPTS/MESSAGES! Much effort has been expended to insure that
where possible prompts were clarified, messages made more meaningful,
and defaults consistently shown. Some examples of this are:
The "G>raphics" command was clarified. The prompt makes it
clear that ASCII and color options are for IBM computers and the
"help" file for the command is automatically displayed when the
user is in "novice" mode.
"Chat" mode now has a beginning opening and closing message.
The prompt for a "P>assword" now clearly states that pressing
enter quits.
The "N>ulls" command now explains that it is for printing
terminals.
Page 17 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
"Press [ENTER] to quit" is used more uniformly.
Defaults with prompts are more uniformly indicated by putting []
around the default.
The List command no longer requires that a directory be
specified in advance. The list command used alone will prompt
for a directory and default to the directory of directories.
The editing command in messages is much easier to use. It no
longer requires the user to specify new and old string together
but breaks up the edit into a search for what and replace by
what. The syntax from earlier versions of RBBS-PC is still
supported in keeping with RBBS-PC's long-standing policy of
being upward compatible.
The prompt when changing page length has been clarified to
indicate that the number of lines can have any value between 0
and 255.
U>pload and D>ownload commands immediately respond with message
"Searching for file...". In some configurations with large
(and/or) slow disks a user might see a significant delay with no
indication what was going on with this new response.
If a 1000 or more files are searched in a directory without
filling the screen with "hits", the caller is asked whether he
wants to continue the search.
Requests for Non-stop in file searches in the L)ist and
S)ubstring commands require confirmation if at least a 1000 more
files remain to be searched.
File searching supports true paging. No longer will the menu or
multiple searches scroll away previous results. The pause
properly pauses at the bottom.
Callers are now informed explicitly whenever an upload or
download was successful. Some novices mistakenly thought that
errors during transmission mean they had to re-do the
transmission.
o ENHANCED SECURITY! Paths are now supported in the file security system.
Kermit up/down loads no longer list drive/path where then file is
located. More secure limitation of DOORS and QUESTIONNAIRES exist
since RBBS-PC will no longer accept proper substrings of legitimate
items.
o NEW DEBUG MODE! Special debug mode has been added to allow all errors,
including those that are handled within RBBS-PC, to be seen as they
occur.
o AUTO-NOTIFICATION! The SYSOP can elect to notify users immediately
upon logging on of the number of new bulletins and new files available
for downloading since the user last logged on.
o TURBO-DOWNLOADING! A SYSOP can allow users to review the files that
are new since the user last logged on and download them immediately
(without requiring the user to see any messages).
Page 18 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
o INVALID DIRECTORIES ELIMINATED! All directories to be searched are
put in one specific drive/subdirectory in order to speed up directory
searches and simplify maintenance. This eliminates the possibility
that data files with the same extension of true directories being
considered RBBS-PC directories.
o PROMPTS WIPED OFF SCREEN! "MORE" prompts are wiped away after a
response, except when files to download are specified. Very useful
when more interrupts continuous text, as in menu or message.
o RING-NO-ANSWER MINIMIZED! As soon as carrier is lost or the SYSOP
takes RBBS-PC off line via function key F1 to use the PC for other
things, the phone is taken off the hook so callers will receive a busy
single (and not be charged for the call by the phone company).
o AUTODOWNLOAD ENHANCED! The SYSOP can select to turn off the automatic
test of every user for autodownloading. The escape sequence test for
autodownloading caused problems with some communications packages and
terminals. Users now can toggle autodownloading on and off during a
session and their preference will be permanently remembered.
Corrections incorporated in CPC15-1B that fix bugs reported in CPC15-1A are
as follows:
1. When creating a new .DEF file or if configuring non-Hayes commands
without including the command "S0=" in the modem initialization
command no longer results in an ERROR 5 in line 15780.
2. RBBS-PC.EXE, as released, is now compiled against a compiler that has
the DTR patch applied. User's should no longer get carrier dropped
when they drop to DOS or enter a DOOR.
3. RBBS-PC now correctly handles private messages in conferences.
SYSOP's will no longer have USER records randomly "lost."
4. SYSOP's who want their modem's to "auto-answer" and either drop to DOS
or run "doors" (despite the vulnerability that they put themselves in)
can no do so.
5. The string to initialize the modem when RBBS-PC is configured to
answer on zero rings is now correct.
6. RBBS-PC can now select Fox Researches 10-NET as a valid local area
network.
7. CONFIG no longer resets the option to invoke the external protocol
drivers to "SHELL" rather than to "EXIT" each time CONFIG is invoked.
8. RBBS-PC now more reliably connects with users who are not patient
enough to allow auto-baud detect to occur (typically modems with MNP
protocol built in have an extra 3-5 second delay for automatically
detecting the baud rate of the caller).
9. When a user's subscription expires his USER record is now correctly
written.
10. In CONFIG the maximum number of pages displayed is now correct.
11. If a user logs on and selects all upper case output AND color
graphics, the color graphics are now correct.
Page 19 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
12. RBBS-PC now properly handles the non-FMS ".DIR" files when (1) file
searches were not limited to FMS and (2) users could categorize
uploads.
13. RBBS-PC no longer always turns on SNOOP.
14. RBBS-PC now dynamically allocates the dummy file "FREESPAC.UPL" that
is used to calculate the amount of free space on the upload disk area
when assembly language routines are not being used for speed.
15. In a MultiLink environment, RBBS-PC now correctly takes the phone off
the hook when either dropping to DOS remotely as the SYSOP (SYSOP
function 7) or dropping to DOS locally (Function Key 1).
16. When in local mode, RBBS-PC no longer occasionally issues an "illegal
function call" message (i.e. ERROR 5).
17. RBBS-PC now sets the "auto-download" switch correctly.
18. RBBS-PC now recognizes any version EXECPC that responds appropriately
as having "auto-download" capability.
19. RBBS-PC no longer can inadvertently generate two USER records for the
same user when a caller leaves a protected message to another caller.
20. When answering a questionnaire, the passwords file is re-checked upon
completion of the questionnaire.
21. Several locations in the code were corrected to eliminate bad
programming techniques (i.e. exiting out of a WHILE/WEND loop) and to
make the code more efficient.
22. When RBBS-PC automatically drops to DOS at a specific time each day,
the date and time are now recorded correctly in the Node Record.
23. When a user in a "door" drops carrier, the next user who calls in no
longer is allocated the time remaining for the previous user.
24. RBBS-PC now gives the 300 BAUD caller a reason that access was denied.
25. Users returning from "doors" or a remote SYSOP from DOS are no longer
presented with the "bulletins."
26. When a user says "G>oodbye", the time on the system is now displayed
in minutes and seconds instead of minutes and 1/10ths of seconds.
27. Security level for access to "doors" is now checked after the "door"
menu is displayed.
28. Read protected messages can now be left when a SYSOP elected to
configure RBBS-PC to use individuation.
29. A user's record is no longer lost when switching from a private to a
public conference.
30. Locked out users no longer generate a "LOCKED OUT MSG READ" message in
the CALLERS file.
31. When running a pre-registered system (a "closed" system) new callers
are now shown the file LGx.DEF (where "x" represents the security
level for new users).
Page 20 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
32. Users that try to join a non-existing conference and find themselves
returned to the main message section no longer see prompts that imply
that they have successfully joined the non-existing conference.
33. An error can occur in the answering routine which creates a loop when
RBBS-PC is counting rings in order to answer the phone.
34. When a 300 Baud caller exits to a MultiLink controlled "door" the
system no longer hangs.
35. When a user issues Ctrl/X or Ctrl/K to exit a color menu the colors no
longer disappear from the remote user's screen.
36. When using COM0 as a local network user in a multi-tasking environment
RBBS-PC no longer hangs when the local user says G>oodbye.
37. ERROR 54 no longer occurs if a user in a private conference changes
his password or a SYSOP of the conference uses SYSOP option 5 to do
user file maintenance.
38. The W>ho's on command shows only active users on the other nodes and
indicates the inactive nodes are "waiting for next caller." Only the
SYSOP will see who was last on the inactive nodes.
39. If a user completes an auto-download and then tries an upload, RBBS-PC
now handles this correctly.
40. When a SYSOP is doing user file maintenance (SYSOP option 5) and
attempts to delete a user, he is prompted more clearly.
41. When a user logs on without supplying his first and last name
(separated by a semicolon) followed by a semicolon and his password,
RBBS-PC now asks the user to confirm that is the name he wants to log
on as. (Only if the SYSOP in using individuation)
42. Error trapping for "disk full" has been enhanced when writing to the
CALLERS file.
43. When carrier drops before a user can provide a description for an
uploaded file, a more meaningful indicator is now left.
44. Users are required to provide at least 10 characters of description
for each file they upload.
2.0 RBBS-PC "BASE-LINE" HARDWARE AND SOFTWARE REQUIREMENTS
----------------------------------------------------------
RBBS-PC CPC15-1B is designed to run on an IBM Personal Computer running
IBM's Disk Operating System (DOS), communicating via an IBM Asynchronous
Communications Adapter and a Hayes 1200 Smartmodem modem. For RBBS-PC
CPC15-1B, the following equipment and software is the MINIMUM recommended:
IBM PC with an 80 column monitor,
Asynchronous communications adapter (serial port),
Hayes 1200 Smartmodem (or 100% Hayes compatible!),
Voice grade telephone connection for modem,
25 pin RS-232 modem cable (for stand alone modem),
256K RAM and at least two double-sided drives,
PC-DOS 2.0 or higher, and
BASIC Compiler (IBM's Version 2.0 or Microsoft's QuickBASIC)
Page 21 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
The MINIMUM configuration that RBBS-PC can be run in is on an IBM PC that
has 256K of random access memory (RAM), one double-sided disk drive, an RS-
232 communications port with a Hayes 300 baud modem and IBM's PC DOS 2.0
(or higher). However as with ANY bulletin board system, the less disk
space available the more file maintenance the SYSOP must do. Also if you
choose to allow external file protocol transfers, an additional 136K of
memory is required.
If you have a second telephone installed specifically for RBBS-PC, ask
for a second voice grade telephone line. Data lines are very expensive
and are not necessary. The program requires the use of a Hayes
Smartmodem (or one that is 100% Hayes compatible) in order to function
properly. If your non-Hayes modem doesn't work with RBBS-PC, send RBBS-PC
(source code and all) to the vendor and ask him to explain why it doesn't
work (i.e. why it is "incompatible" with the Hayes Smartmodem).
Callers who come in at even parity and 7 data bits, then try to change to
no parity and 8 data bits to use XMODEM, may have a problem if they
are using PC-TALK and a Hayes Smartmodem. Switch 1 on the caller's modem
has to be down (the factory default position) or the carrier will be
dropped when the communication parameters are switched. To avoid this
the PC-TALK caller will have to enter the escape code (factory setting
"+++"), reset the modem parameters with Alt-P and/or Alt-F, and then
return to the "connect" state with the command "ATO." Callers who wish
to communicate at 450 baud have to call in at 300 baud then switch to
450 using the N)ew baud selection from the "Utilities" menu.
3.0 RBBS-PC's SUPPORT POLICIES
------------------------------
3.1 RBBS-PC's Vendor Support Policy
-----------------------------------
The only reason RBBS-PC is "hardware-specific" to the IBM PC and the Hayes
Smartmodem is that these have pretty much set an industry standard (let's
not debate the issue of whether they have also set a "technology"
standard). If you follow the code in RBBS-PC closely, you will notice that
a great deal of effort was expended in order not to be "hardware-dependent"
on either the Hayes or the IBM PC.
The purposes of RBBS-PC are outlined in chapter 1 of the RBBS-PC
documentation. Those who contribute to RBBS-PC do so without any hope
of monetary reward. In fact, great lengths are taken to assure that
neither those involved with the development of RBBS-PC nor anyone who
distributes RBBS-PC does so for either personal gain or to promote a
specific product at the expense of other products.
If the hardware you are using is not part of the "base-line" hardware and
RBBS-PC doesn't work, your only recourse is to either modify RBBS-PC to
meet your particular hardware's needs (that's why the source code is
distributed) or contact your vendor and ask him to fix his hardware or
modify RBBS-PC (via .MRG/.DOC files) to support his hardware.
Since 1984 RBBS-PC became something of an "industry standard." As such
several manufacturers have requested that support for their particular
hardware and/or software be incorporated into RBBS-PC. These vendors have
had three choices:
1. Obtain a copy of the BASIC source code by sending $8 to the
Capital PC User Group's Software Exchange. The source code allows
the vendor to determine what is required to be "RBBS-PC
compatible." Who better knows the quirks of the
manufacturer's product than the manufacturer? RBBS-PC's limited
Page 22 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
license specifically permits the distribution of ".MRG" files
that would allow RBBS-PC to run with whatever idiomatic quirks
a specific vendor's product exhibited. The advantage to the
manufacturer is that he is in complete control and need not make
the .MRG "universal" (i.e. it need only support his product). The
disadvantage is that new releases of RBBS-PC come out every six to
eight weeks and the vendor would have to review each release to
make sure the new releases and his .MRG files were compatible. Of
course, as with any other RBBS-PC operator, casual telephone
support is available to these vendors.
2. Supply the necessary equipment or software on a loan or gift basis
to be used in the testing of future releases of RBBS-PC. This
approach has been actively DISCOURAGED for three fundamental
reasons.
First, the vendor perceives he has "paid" for on-going support by
the loan or donation of the product. This is not the case because
RBBS-PC's development is an all-volunteer activity. As such,
neither I nor any of the others involved with the development of
RBBS-PC may have the time nor expertise sufficient to assure
compatibility of the specific vendor's product with future
releases of RBBS-PC. About all that can be done is to give the
vendor our "best effort" to assure compatibility, and advise when
it can not be made compatible.
Second, the particular product may not have a universal
applicability to RBBS-PC users and (or) may not be of interest to
those who regularly contribute to the development of RBBS-PC.
Both of these conditions must exist before any vendor's product is
incorporated into the RBBS-PC development cycle.
Third, the price of the loaned or donated products (usually 3 to 5
such products) in no way can even begin to compensate for the
hundreds (if not thousands) of development hours required to
support other than "base-line" hardware.
3. Establish an on-going institutional commitment to maintain a
dialogue between the vendor's engineering group and the RBBS-PC
development team along with supplying the necessary equipment or
software on a loan or gift basis to be used in the testing of
future releases of RBBS-PC. This approach has been actively
ENCOURAGED for three different and fundamental reasons.
First, the vendor overtly makes an institutional commitment to
jointly participate in the development of RBBS-PC. The vendor has
the opportunity to supplement the all-volunteer activity that is
the basis for RBBS-PC development by choosing to either modify
their current or future products to be compatible with RBBS-PC or
to supply software that ensures compatibility with RBBS-PC. This
benefits all RBBS-PC users.
Second, the particular products that fall into this category are
required to have a universal applicability to RBBS-PC users (i.e.
multi-tasking DOS, networking, 2400 or greater baud capability,
error-free protocols, etc.). Also a regular contributor to RBBS-
PC's development must be geographically located close to the
vendor's development engineers to assure a timely dialogue.
Further any regular contributor to RBBS-PC's development who
accepts the responsibility for assuring RBBS-PC's compatibility
with a particular vendor's product must be willing to do so solely
Page 23 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
on a volunteer basis over an extended period of time and in such a
way as not to exclude other vendor's products. Only when all
these conditions exist is any vendor's product a candidate to be
incorporated into the RBBS-PC development cycle. This assures
that the RBBS-PC user community has a feed-back mechanism to the
vendor's product development and design teams and the vendor is
assured of a matching long-term commitment from the RBBS-PC
development team.
Third, the vendor recognizes that the price of the loaned or
donated products (usually 3 to 5 such products) is minuscule
compared with the hundreds (if not thousands) of man-hours that
may be required from both the RBBS-PC development team as well as
the vendor's engineers. This assures that the vendors who choose
this third approach are committed to the PC user community. It is
precisely this type of commitment that RBBS-PC's USERWARE concept
is designed to encourage (from both users and vendors)
Vendors who have chosen to make this third type of commitment to RBBS-PC
and the PC user community deserve the respect and encouragement of every PC
user and are (alphabetically):
Ark Electronic Products, Inc.
325 W. Hibiscus Blvd.
Melbourne, Florida 32901
(305) 724-5260
Corvus Systems, Inc.
2100 Corvus Drive
San Jose, California 95124
(408) 559-7000
The Forbin Project (c/o John Friel III)
4945 Colfax Avenue South
Minneapolis, MN 55409
Hayes Microcomputer Products, Inc.
5923 Peachtree Industrial Blvd.
Norcross, Georgia 30092
(404) 449-8791
International Business Machines Corporation
(Internal Zip Code 2900)
P.O. Box 1328
Boca Raton, Florida 33432
(305) 998-2000
Microcom, Inc.
1400A Providence Highway
Norwood, MA 02062
(617) 762-9310
Multi-Tech Systems, Inc.
82 Second Avenue, S.E.
New Brighton, Minnesota 55112
(612) 631-3550
Orchid Technology
4790 Westinghouse Drive
Fremont, CA 94539
(415) 490-8586
Page 24 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Prometheus Products Incorporated
4545 Cushing Parkway
Fremont, CA 94538
(415) 490-2370
Quarterdeck Office Systems
150 Pico Blvd.
Santa Monica, CA 90405
(213) 392-9701
Racal-Vadic
1525 McCarthy Blvd.
Milpitas, California 95035
(408) 774-0810
The Software Link, Inc.
8601 Dunwoody Place
Suite 336
Atlanta, GA 30338
(404) 998-0700
The Source
1616 Anderson Road
McLean, Virginia 22102
(703) 734-7500
System Enhancement Associates
21 New Street
Wayne, NJ 07470
(201) 473-5153
U.S. Robotics, Inc.
Skokie, Illinois 60076
(312) 982-5010
Users who feel that they have benefited or who appreciate such commitment
to the user community should write or call the above vendors and tell them
so, especially if such a commitment influenced the purchase of their
products. Similarly, if any user feels that other vendor should make a
similar commitment to RBBS-PC and the user community, write to that vendor
and send a copy of your letter to the following address:
D. Thomas Mack
10210 Oxfordshire Road
Great Falls, Virginia 22066
Chapter 22 describes the RBBS-PC standard interface for protocol drivers.
All vendors of proprietary protocols who would like to have them added to
future releases of RBBS-PC need do is simply conform to this interface.
3.2 RBBS-PC's User Support Policy
---------------------------------
RBBS-PC is an all-volunteer effort on my part. Professionally I am not a
programmer (as anyone who has looked at the source code can testify) nor an
"expert/guru" on personal computers. Since I am not independently wealthy,
I have a full time job (unrelated to PC's). As with most other folks, I'm
also busy raising a family. What time I can spare from these other
activities I am glad to donate to answer questions about RBBS-PC as I
believe (somewhat fanatically) in the Userware concept.
Page 25 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
However, if you have questions regarding something other than the "base-
line" hardware and software requirements outlined in chapter 2.0, DON'T
CALL ME. I probably can't help you anyway and even if I do venture some
advice it will probably be wrong. One of the axioms of the "Userware"
concept is that every user should be able to help themselves -- that's why
there are more than 100 pages of documentation and the source code is
freely distributed (under a limited license and copyrighted).
The only calls that I truly appreciate are those that reveal BOTH a problem
and a solution. These I am more than happy to share with anyone and are
included in RBBS-PC (either the documentation, the software, or both) as
rapidly as possible. Of course, if you encounter a problem and
1. read and re-read the documentation,
2. spend days and days attempting to isolate it,
3. called other SYSOP's and asked their help,
4. looked up any error messages you encountered (they are in the
BASIC manual that comes with your IBM PC's DOS),
5. know what version of RBBS-PC that you are running,
6. know what version of CONFIG that you are running,
7. eliminated all other software from your environment,
and still can not get RBBS-PC to work, I am most happy to lend whatever
telephone advice I can.
In this regard, it may help to remember that there are only two types of
problems -- MY problems (which are the ones that I can solve) and OTHER
PEOPLE's problems (which are the ones that I can't solve).
4.0 OPERATING SYSTEM REQUIREMENTS
---------------------------------
Beginning with RBBS-PC version CPC13-1A, RBBS-PC requires version 2.0 or
above of IBM's Disk Operating System (DOS). RBBS-PC will not run under the
BASIC interpreter. Nor is it reasonable to expect that RBBS-PC would run
under ANY other DOS supplied by any other vendor (including Microsoft).
5.0 HOW TO GET A COPY OF RBBS-PC SENT TO YOU
--------------------------------------------
RBBS-PC can be obtained by sending a check for $8 to the
Capital PC Software Exchange
P.O. Box 6128
Silver Spring MD 20906.
RBBS-PC is distributed on two double-sided, 9-sector, diskettes. Allow 3 to
4 weeks for delivery -- remember this is an all-volunteer effort. Be sure
to specify RBBS-PC CPC15-1B on "diskette # 18". If you want the RBBS-PC
source code. CPCUG will ship a third diskette, "diskette # 18S," if you
include a second $8 with your order and ask for "diskette #18S."
Version CPC15-1B of RBBS-PC's .EXE file is distributed after having been
compiled with QuickBASIC Version 2.01 compiler that had the DTR patch
described in Appendix O applied to it. This is because Microsoft's
QuickBASIC Version 2.0 compiler has a bug in it that causes the local
SYSOP's PgUp and PgDn functions to give unusual results.
The exigencies of RBBS-PC software releases may mean that diskette 18
contains an earlier version of RBBS-PC than CPC15-1B (either you bought
diskette 18 sometime ago or there has been not enough time for diskette 18
to be updated to this most current version). Not to fear! Your $8 has
not been wasted. At least two bulletin boards keep the most current
Page 26 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
copies of RBBS-PC CPC15-1B for downloading. They are:
(703) 759-5049 --+
+---- East Coast (Great Falls, Virginia),
(703) 759-9659 --+
(415) 689-2090 ------- West Coast (Concord, California).
For those interested, a LaserJet printer ready file of RBBS-PC's
documentation is available from the NICBUL RBBS-PC system run by the
Nicolet Instrument Corp. by downloading the file named RBSDOCLJ.ARC. The
SYSOP is Michael L. Brown and the bulletin board is available Monday
through Friday from 6PM to 8AM (Central Standard Time) and all day
Saturdays and Sundays. The number is (608) 273-5037. If you want it in
"hard copy" form, send a 9.5 x 12.5# envelope with $2.09 in postage to:
(one envelope per request)
Michael L. Brown
Nicolet Instrument Corporation
5225-2 Verona Road
P.O. Box 4288
Madison, WI 53711-0288
6.0 FILES RBBS-PC USES
----------------------
There are essentially two types of files that RBBS-PC uses -- "system" and
"text" files. "System" files are defined as random files that RBBS-PC
reads and writes to. "Text" files are defined as files that RBBS-PC
primarily reads from. Text files can be edited externally to RBBS-PC with
most text editors that can handle ASCII files. Either type of file can be
"static" or "variable" in length. By "static" it is meant that these files
have a pre-defined length beyond which RBBS-PC does not extend them.
Similarly, "variable" length files are defined as those files whose length
is dynamically increased by RBBS-PC. In a multiple RBBS-PC environment
only the "static" length files can be shared SAFELY among the various RBBS-
PC's. The following table summarizes, using the default file names, which
categories the various RBBS-PC files fall into:
"Static" Length Files "Variable" Length Files
----- MESSAGES CALLERS
/|\ USERS COMMENTS
System MESSAGES.BAK 99.DIR (upload directory)
Files USERS.BAK upload disk
\|/ RBBSxPC.DEF ARCWORKx.DEF
----- QMXFERx.ERR
----- BULLET
/|\ LGx.DEF
| RBBSxF1.DEF (Created by RBBS-PC)
| BULLET1 --> BULLETn
| DIR.DIR, aa.DIR --> bb.DIR
Text FILESEC and PASSWRDS
Files HELPxx
| MENU0 --> MENUA
| xy.HLP (help for commands)
| NEWUSER
| PRELOG
\|/ TRASHCAN & CONFENCE
----- WELCOME
Page 27 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
In a CORVUS network environment any of the "static" length files can be
shared on a common volume and ALL of the "variable" length files must be
segregated on volumes unique to each copy of RBBS-PC. RBBS-PC issues the
NAME function of BASIC in order to determine if a file exists. Because of
this, all the volumes accessed by any RBBS-PC in a CORVUS network must be
designated "read/write." Therefore, you must be very careful when running
CONFIG.BAS. CONFIG creates the definition file (RBBSxPC.DEF) for each copy
of RBBS-PC.
In a MultiLink (from the Software Link, Inc.) environment and in Orchid's
PC-NET environment the vendors claim that not only all the "static" length
files can be shared on a common volume but also some of the "variable"
length files can be shared. However, if you want to be as conservative as
possible, run RBBS-PC in ALL environments as if it where running in a
CORVUS network environment. However, if you rely on the vendors claims, in
either a MultiLink or PC-NET environment, when running CONFIG.BAS which
creates the definition file (RBBSxPC.DEF) for each copy of RBBS-PC, you
must be careful to put at least the CALLERS file on an unshared volume.
6.1 RBBS-PC System Files
-------------------------
As shown above, "system" files are both static and variable in length. The
system files used by RBBS-PC are:
MESSAGES - This file is a random file that contains the message text for
the RBBS-PC system. The first record in the file contains the
RBBS-PC "checkpoint" record. The records immediately following
this first record are the RBBS-PC "node" records. The rest of the
file consists of message header records which are followed by
the message text for that header. Appendix A describes the
fields and their uses within the various type of records of the
messages file. RBBS-PC expects the MESSAGES file to exist and to
have been created by CONFIG.BAS. If CONFIG.BAS does not find the
MESSAGES file or it finds one in pre-CPC12-3A format, it will
create it and initialize it to the size the SYSOP specifies.
Because of the fixed length records in this file, it should not
be created or edited outside CONFIG. When the SYSOP "packs"
the message file using CONFIG, the file MESSAGES.BAK is created to
hold the old messages in case the "pack" is unsuccessful (i.e.
not enough space to duplicate the message file). If the disk
fills up during the pack function RBBS-PC will recover the
message file using MESSAGES.BAK. When the messages file is
successfully packed, the pre-packed messages file is renamed
MESSAGES.OLD and the temporary file MESSAGES.BAK is renamed
MESSAGES. The MESSAGES file should only be "packed" in a
multiple RBBS-PC environment when there are no RBBS-PCs active.
The MESSAGES file can be shared among multiple RBBS-PCs.
USERS - The USERS file is a random access file that has a record for each
user who used the system. The record contains a profile for each
user who has logged onto RBBS-PC. Appendix A describes the format
of the records within the USERS file. The records are 128 bytes in
length and are automatically maintained by RBBS-PC. The SYSOP
can do some limited editing using SYSOP function 5. To
initialize the system simply ERASE this file. RBBS-PC expects the
USERS file to exist. If CONFIG.BAS does not find the file on
the system it will create it to the size specified by the SYSOP.
The USERS file should not be created or edited outside
CONFIG.BAS. When the SYSOP "packs" the user file using
CONFIG.BAS, the file USERS.BAK is created to hold the old users in
case the "pack" is unsuccessful (i.e. not enough space to
Page 28 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
duplicate the users file). If the disk fills up during the pack
function RBBS-PC will recover the USERS file with USERS.BAK. When
the users file is successfully packed, the pre-packed users file is
renamed USERS.OLD and the temporary file USERS.BAK is renamed
USERS. The USERS file should only be "packed" in a multiple RBBS-PC
environment when there are no RBBS-PC's active. The USERS file can
be shared among multiple RBBS-PC's.
CALLERS - This file is a random file that contains a log of all callers as
they log on to the system along with callers city and state, the
date and the time. The names are added to the end of the file as
well as are the names of the files uploaded/downloaded by the
caller. If the file is not found RBBS-PC will create a new one.
The file should be ERASED to clear the log. The CALLERS file
cannot be shared among multiple RBBS-PC's.
COMMENTS - This file is a sequential file that contains any comments that
have been left by users for the SYSOP. The file can be scanned by
a SYSOP function or it can be TYPEd or edited outside the RBBS
system. A SYSOP function is available to delete this file, or
it can be emptied outside of DOS. The file will be created by
RBBS-PC if it is not found. The COMMENTS file cannot be shared
among multiple RBBS-PC's using CORVUS' "OMNINET". This file can be
shared using MultiLink or Orchid.
99.DIR - The file on the upload disk that is to have the name, file
size, date, and description appended to it of files that have been
uploaded. The 99.DIR file cannot be shared among multiple RBBS-
PC's using CORVUS's "OMNINET", but can be shared using MultiLink or
Orchid.
RBBS-PC.DEF - This is an ASCII text file created as output by the
CONFIG program. It contains the configuration parameters for the
RBBS. It is read by RBBS to determine the configuration settings
tailored to your RBBS- PC. In a multiple RBBS-PC environment
the definition file for each RBBS-PC is named RBBSxPC.DEF where "x"
is a number 1 through 9 , 0 (for the tenth copy), and A through Z
(for the eleventh through 36th copy) corresponding to which copy
RBBS-PC it describes. In a single RBBS-PC environment the name
will be RBBS-PC.DEF.
ARCWORKx.DEF - This file is created as output by the ARC view command and
contains the contents of the ARC file being inquired against.
QMXFERx.ERR - This file is created as output by QMXFER.COM to notify RBBS-
PC of the results of an external file protocol transfer.
x.BAT - This file is created when external protocol drivers are invoked by
SHELLing in order to allow command lines longer than 80 characters.
RBBS-PC displays on line 25 the status of those files which must be locked
in a network environment. The lock status of the message file is displayed
in positions 68 & 69. The lock status of the user file is displayed in
positions 71 & 72. The lock block status is displayed in positions 74 & 75
and comments/uploads share positions 77 & 78. The letter "U" in the first
position shows that the file is currently "UNLOCKED". The letter "L" in
the first position indicates that the file is "LOCKED".
Page 29 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
6.2 RBBS-PC Text Files
-----------------------
Similarly, the RBBS-PC "text" files are both static and variable in length.
The "text" files used by RBBS-PC are:
BULLET - This is a text menu file that is printed following the WELCOME
file when a user first enters the system. It must be present if
"CONFIG Utility parameter # 43" is greater than 1. It can also be
called from the main menu with the <B>ulletins command.
BULLET1 --> n -- There can be 1 to 99 "bulletins". RBBS-PC will check for
the existence of a file whose name consists of the prefix given by
parameter 44 of CONFIG.BAS appended with the bulletin number and
using parameter 41 of CONFIG.BAS to determine the drive to find the
bulletin on.
Users can elect to have displayed two different types of "graphics" files
for such standard RBBS-PC system files as HELPxx, BULLET, MENU's, etc. In
order for a user to see either of these two different types of "graphics"
files, the following must have occurred:
logged on N/8/1,
requested graphics (either full ASCII or "color/music"), and
the file must exist and the filename end in either:
"G" for files containing the graphic ASCII characters
whose values are in the range 129 to 256, or
"C" for files containing combinations of the full
256 characters that the caller's communication
software can interpret and translate into colors
and music (e.g. PCTK666, QMODEM, and EXECPCT).
RBBS-PC will check to see if a "graphics" files exists by appending a "G"
or "C" to the file name. If such a file can't be found, RBBS-PC will check
to see if a non-graphics file exists (i.e. one without the "G"). RBBS-PC
will display the first file it finds or a message that the file can not be
found.
DIR.DIR, aa.DIR --> nn.DIR -- At least one DIR.DIR file has to be
present on one of the drives available for downloading.
Alternative directories, aa.DIR --> nn.DIR (see chapter 14), should
be meaningful and should be reflected in the DIR file.
FILESEC - is more fully described in section 17.4 on security.
HELP -- There is a help file for each command which has the format
xy.HLP, where x is the first letter of the section (M,F,U) and y is
the command letter. There are also the following special help
files:
MAIN.HLP -text file that is printed when <H>elp is requested on
the main function prompt. It contains command information.
HELP03 -text file that describes the message protection options
when <?> is entered after the message <E>nter command is
executed at the main message menu.
HELP04 -text file that describes the message entry subfunctions
when <?> is entered at the subfunction prompt.
FILE.HLP -text file that is printed when <H>elp is entered in
the files subsystem function prompt.
Page 30 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
HELP07 -text file printed when <H>elp is requested at the message
read prompt.
UTIL.HLP - text file printed when <H>elp is requested in the
utility subsystem function prompt.
HELP09 -text file printed when <H>elp is requested for type of
graphics a user wants (none, ASCII, color/music).
MENU0->A -- contain the local SYSOP's menu and menu of various commands for
the subsystems. It is recommended that these be placed on an
electronic disk drive (i.e. RAM) rather than on a floppy or hard
drive.
NEWUSER - This is a text file that is displayed for new users just before
registration occurs.
PASSWRDS - is more fully described in section 17.3 on security.
PRELOG - A text file displayed to users prior to logging on.
TRASHCAN - is a text file that contains names that the SYSOP finds
objectionable and does not want used as either a users first or
last name. RBBS-PC uses this file, if it exists, to deny access to
anyone using one of these names for either their first or last
name.
WELCOME - is a text file that a user first sees upon logging onto the
system. It must be present, and it should be modified to
identify your system. Similarly each "conference" can have a
"welcome" file by having a file whose last character ended in a "w"
(i.e. conference "RBBS" would have a message file named RBBSM.DEF
and a user file named RBBSU.DEF if it where a "private" conference
and a welcome file named RBBSW.DEF).
CONFENCE - A text file displayed to users who issue the J)oin function from
the main menu. It can be created by any text editor that can
create an ASCII file and should contain a list of the available
conferences.
LGx.DEF - This is the file displayed to a user whose security level is
below the minimum to log on. The "x" defines the security level of
the users who would see this file. A SYSOP can "lock out" users
(i.e. give them a security level below the minimum to logon on) for
various reasons. This allows users to know why they are not
allowed to log on (i.e. LG4.DEF explains because of security
violations, LG-1.DEF because of inappropriate behavior, LG-99.DEF
because he has never uploaded anything or answered a messages in
the last 22 months, etc.).
RBBSxF1.DEF -- This is the file dynamically created when the local SYSOP
wants to drop to DOS.
7.0 INSTALLING RBBS-PC FOR THE FIRST TIME
-----------------------------------------
RBBS-PC, unlike simpler applications such as games and utilities, is a
complex application that requires someone who wishes to set up RBBS-PC to
already be familiar with modems and PC communications. This section is
intended to provide a step-by-step approach to setting up RBBS-PC for the
first time. Follow the steps thoughtfully! Do not proceed to subsequent
Page 31 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
steps until you understand all the previous steps.
Because RBBS-PC attempts to provide SYSOP's the maximum flexibility, it is
perfectly possible for those setting RBBS-PC up for the first time to shoot
themselves in the foot. Be patient with yourself. Remember that things
worth achieving usually are not obtainable without effort.
Because of the prevalence of hard disk usage these days, the following
assumptions about the hardware to be used to set up RBBS-PC has been made:
1. IBM PC or XT with a hard disk (previously formatted!)
2. Minimum RAM of 256k
3. Hayes 1200 external modem
4. Dedicated 'voice grade' phone line
SOFTWARE REQUIRED
1. IBM PC-DOS 2.0 or higher to adequately support a hard disk
2. RBBS-PC.EXE - the main program
3. CONFIG.EXE - the setup program
4. RBBS-PC.DOC - the documentation file
5. ALL of the RBBS text files: MENU1 - MENU5, HELPxx, *.HLP,
WELCOME, DIR.DIR, xxxxxxxx.DIR, PRELOG, BULLET, BULLETxx
6. A text editor (PE2, WS non-doc, EDLIN, etc.) to create other
useful/needed text files. Your editor MUST be capable of
saving spaces (hex 20's) as characters and not substitute
tab characters for strings of spaces. Those mentioned
above ARE.
7. WATCHDGx.COM - an external carrier monitor prgm. x=COMx:
available from most RBBS-PC systems.
1. [ ] PRINT A COPY OF THE DOCUMENTATION!
2. [ ] Have dinner or take a nap while the previous step executes.
3. [ ] Create a sub-directory in which RBBS-PC is to reside.
4. [ ] Change current directory to the newly created directory CHDIR \RBBS.
5. [ ] Create a sub-directory called NEW for your uploads.
6. [ ] Create any other sub-directories you desire to hold downloads
MKDIR TURBO
MKDIR PATCHES
MKDIR UTILS etc. as sub-directories of C:\RBBS
The following is a suggested 'layout' of the sub-directories and
files which comprise RBBS.
C:\
COMMAND.COM
\DOS
\RBBS
RBBS.BAT
RBBS-PC.EXE
CONFIG.EXE
WATCHDGx.COM
MESSAGES
USERS
MENU1
MENU2
MENU3
MENU4
MENU5
HELPxx
Page 32 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
*.HLP
WELCOME
PRELOG (OPTIONAL)
BULLET
BULLET1 (HOWEVER MANY)
FILESEC
PASSWRDS
TRASHCAN
CALLERS (WRITTEN BY RBBS-PC)
COMMENTS (IF NOT USING COMMENTS AS MESSAGES WILL BE CREATED BY RBBS)
\RBBS\NEW
UPLOADS.DIR
(Whatever your users upload will go here)
\RBBS\DIR
DIR.DIR
TURBO.DIR
UTILS.DIR
\RBBS\DNLOADS
(Whatever your users can download you must put here)
7. [ ] Copy RBBS-PC.EXE to the current directory (C:\RBBS should be).
8. [ ] Copy CONFIG.EXE to the current directory.
9. [ ] Copy all MENU and HELP files to the current directory.
10. [ ] Create a text file which will serve as your bulletins menu (default
= BULLET) using your text editor. Normally, it is desirable for
this to be a single 23-line page or shorter. This is to serve as a
'menu' for the user to select bulletins for reading by choosing a
number (1-99). Each bulletin file you create will be named
BULLETxx where xx = the number on this menu file. The following
illustrates what you might create:
+----------------------------------------------------------------+
| Bulletin Menu |
|----------------------------------------------------------------|
| # | UPDATED | SUBJECT |
|-----------------------------------------------------------------
| 1 | 01/01/80 | TOPIC OF BULLETIN #1 (BULLET1) |
| 2 | 01/01/80 | TOPIC OF BULLETIN #2 (BULLET2) |
| 3 | 01/01/80 | TOPIC OF BULLETIN #3 (BULLET3) |
+----------------------------------------------------------------+
11. [ ] Create a text file for each bulletin that are going to be available
BULLET1 BULLET2 ... etc. making certain that the contents of
each corresponds to the indication in the bulletin menu file.
12. [ ] To support all of the graphics options of RBBS you will need a
separate BULLET file (BULLETG for IBM-ASCII and BULLETC for ANSI
graphics). This naming convention (suffix of G or C) applies also
to the menus and the directory files. If disk space is, or is
anticipated to be, a problem use of only one set of menu. Graphics
or color menus and bulletins are entirely optional and RBBS-PC will
run fine without them.
13. [ ] Create a text file named PRELOG. Although this file is truly an
an option, it is a good place for announcements which you want all
callers to see. If your system restricts new users to 1200 baud or
higher it is also a good place to let 300 baud callers know why
they cannot log on.
14. [ ] Create a text file named WELCOME (WELCOMEG, WELCOMEC, if desired)
which can contain anything you'd like to express to your callers in
the way of a greeting or other info. Many SYSOPS use this file to
display their 'logo' and a brief description of the equipment they
are using.
Page 33 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
15. [ ] Now we come to the text files which are the most hassle, both to
create initially and to maintain. The files list(s) which are
called directories in the documentation. These text files require
a very specific format (illustrated below) because RBBS-PC searches
for information based on the fields being pre-determined lengths.
The top of each file should be a 'header' which describes the
contents of the list (utilities, newfiles, etc.).
************************************************************************
HEADER ILLUSTRATION HEADER ILLUSTRATION HEADER ILLUSTRATION
------------------------------------------------------------------------
NAME.EXT SIZE DATE DESCRIPTION
************************************************************************
RBBSCRIP.ARC 2560 07-20-86 QMODEM SCRIPT to log you onto RBBS's
PC-QUIZ.ARC 34048 07-19-86 Used to quiz or as a trivia game
DB3AR.ARC 53248 07-17-86 dBASE ]I[ Accounts Receivable Package
^ ^ ^ ^
1 14 24 34
NOTE THE NUMBERS UNDER THE CARETS! They indicate the starting column
for each field. Fortunately, the starting columns are the same for the
output of the DOS 'DIR' command which by re-directing the output to a
file will take care of the structure of the first four fields. You'll
need to delete the time of day which DOS will include in the output.
One last comment on the 'directory' files, it will be to your users'
advantage if you arrange the listings in descending date order (most
recent first) as illustrated above.
16. [ ] You will want a ".DIR" file to correspond to each of the DOS sub-
directories available to your users for downloading.
17. [ ] Create a text file named DIR.DIR which contains a list of the
available .DIR filenames (minus the extension) and some brief
description of how the user may view these lists.
i.e. L;XYZ or L;123
Now for some suggestions:
1) Place all your .DIR files in the same subdirectory.
2) If you don't want your upload directory seen, do NOT
place it in with the other .DIR files.
18. [ ] Create a text file named FILESEC which is one of the most sig-
nificant of the SYSOP generated files since it gives you total
control of which files & sub-directories are available to you or
your users for downloading. Files may additionally be protected
from downloading by password(s) which RBBS will require of the user
if the file is requested. The format of this file is VERY specific
as are the other security related files you will create. An
illustration of what a FILESEC file might look like is as follows:
FILESEC - the first three examples are protected internally by
RBBS-PC from downloading even by the SYSOP, but make
good examples anyway.
C:\RBBS\*.DEF,10, Downloadable ONLY by security level 10's
C:\RBBS\CALLERS,10,CTSA ONLY by security level 10's who know password CTSA
C:\RBBS\COMMENTS,,CTSA Any security level who know password CTSA
C:\COMM\*.*,,CTSA ALL files in \COMM protected requiring pswd. CTSA
19. [ ] Create yet another text file named TRASHCAN which is checked by
RBBS-PC when a newuser logs on, it will contain a list of the user
names which you will not permit on your system. These might
Page 34 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
include sexually oriented or derogatory terms, computer jargon,
common abbreviations, etc.
TRASHCAN - this file contains a list (in UPPER case) of names which
you do not wish to have as user names on your system.
This could include foul language or anything you
consider undesirable names. Each word has to be on a
separate line and end with a comma.
BITE,
BYTE,
GLADIATOR,
THE,
20. [ ] Create a text file named PASSWRDS from which you may control the
the logon duration of various user security levels and/or permit
extending the current logon of a user through knowledge of specific
passwords. Again, the format of this file is critical to its
functionality.
PASSWRDS - This file permits control of logon durations by security
level and a way of extending the current session by the
user changing to a temporary password.
,5,45, all level 5's have 45 mins.
LONGER,5,90, by using the TEMPORARY password LONGER 5's get 90 mins.
,6,60, all level 6's have an hour
,10,360, all level 10's have three hours
NOTE: Four commas are required on each line, passwords MUST be in
uppercase, and each line must end with a carriage return.
21. [ ] There is one more text file which you may wish to utilize. Named
NEWUSER it is shown only to those persons signing on to your system
for the first time. It can contain anything which you want a
newuser to know about the system (ground rules, conferences, etc.).
It is displayed immediately prior to the caller being asked to
C)hange his logon data, D)isconnect, or R)egister on the system.
22. [ ] Create a batch file (RBBS.BAT is the one suggested in chapter 15 of
the documentation) which can be very extensive or minimal depending
upon your needs/desires. A minimal one is listed here for your
convenience.
Page 35 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
C: ;change to your default RBBS drive
CD\RBBS ;change to the BBS directory
IF EXIST RBBSxF1.DEF DEL RBBSxF1.DEF ;cleanup exit
IF EXIST RCTTY.BAT DEL RCTTY.BAT ;cleanup if returning
;from DOS/DOORS
WATCHDGx OFF ;turn off external carrier monitor prgm.
RBBS-PC ;invoke the BBS prgm.
WATCHDGx ON ;turn on external carrier monitor prgm.
IF EXIST RBBSxF1.DEF GOTO EXIT
IF EXIST RCTTY.BAT RCTTY.BAT ;start remote console
;operation via this
;dynamically built .BAT
CD\RBBS ;return to BBS directory if not current dir.
RBBS.BAT ;restart the loop
:EXIT ;exit RBBS-PC if F1 pressed
23. [ ] Now with documentation in hand type CONFIG and press Enter. After
a welcoming screen is displayed you will be asked if you will be
running multiple nodes - for this discussion it is assumed that you
have only one phone line. So type NO and press the Enter key. In
a few seconds you will see the main configuration menu, press the
F1 key to access the first 'page' of the setup options. CAREFULLY
answer each of the questions regarding SYSOP names, etc. If you
are unsure of how to respond - refer to chapter 12 of the
documentation.
24. [ ] Check that your modem's configuration switches have been set to the
positions indicated in the docs (for Hayes 1200 external UUDDDUUD)
or to the corresponding functions as listed in the documentation
for your "Hayes-compatible" modem. This step can be tricky if your
modem is not among those detailed in the documentation - even with
the modem manual in hand. But you knew this when you saved all
that money by purchasing a non-Hayes modem.
25. [ ] Press the 'End' key, respond 'YES' at the prompt and press Enter.
This creates a file named RBBS-PC.DEF in the current directory.
During the execution of CONFIG.EXE it will have also created two
additional files (one for the user file and one for the message
file) using the names you specified, or USERS and MESSAGES if you
accepted the defaults.
26. [ ] Turn on your modem if external.
27. [ ] Look at your CONFIG.SYS and AUTOEXEC.BAT files and eliminate any
terminate and stay resident software.
28. [ ] Make sure you are running with IBM's (not Microsoft's) PC DOS.
29. [ ] Type RBBS and press Enter. You're on your way as a SYSOP!
8.0 THE MOST COMMON PROBLEMS ENCOUNTERED WHEN INSTALLING RBBS-PC
-----------------------------------------------------------------
IT CONTINUALLY RECYCLES! This is caused by one of several things. The
most likely cause is that you have not set your modem correctly and the
carrier detect (DTR) signal is always "true." Most modems allow this to
be set either as always true (that is what is causing the recycling) or
only true if there is a modem on the other end that is generating a
carrier signal.
If you have an external modem, bring up RBBS-PC with the modem cable
removed from the PC. If you have an internal modem, bring up RBBS-PC on
a PC that has a RS-232 interface. In either case if the problem ceases,
then set your modem's switches so that DTR is not always true. If your
modem has no switch to do this, get a modem that does.
If the problem still persists after bringing up RBBS-PC on an RS-232
interface without a modem or modem cable attached and you are running
Page 36 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Microsoft's MS-DOS, bring up RBBS-PC under IBM's PC-DOS.
If after bringing up RBBS-PC under IBM's PC-DOS the problem still
persists, check that your RS-232 port's cable really is grounded. On
AT-like RS-232 interfaces (9-pin), a metal connector on the modem cable
is often required.
If, after all of the above has been attempted, the problem still
persists, try deleting your MESSAGES and USERS files and re-run CONFIG
to create new ones.
Finally, having exhausted all the above remedies, the system continues
to continually re-cycle, you may have an incompatible "clone" PC,
incompatible DOS, incompatible modem, and/or a bad copy of RBBS-PC.EXE.
IT WON'T ANSWER THE PHONE! This also can be caused by one of the following
things:
1.) Phone line is not plugged into the modem.
2.) Modem is not powered on.
3.) Modem is not connected to the communications port that RBBS-PC was
told to use.
4.) Your modem is not "Hayes compatible" enough to handle the modem
commands described in chapter 13.
5.) Your modem cable does not have PIN 22 connected.
RBBS-PC does not require PIN 22 to be hooked up on the RS-232 cable
(that's the cable which runs between the modem and the computer) if
you specify in CONFIG that RBBS-PC is to answer the phone on zero
rings (and that it is not a RING-BACK system). In this setting RBBS-
PC will initialize the modem so that the MODEM automatically answers the
phone.
RBBS-PC's default is that RBBS-PC depends on PIN 22 to know when the
phone is ringing and RBBS-PC (NOT the modem) answers the phone by
issuing the ATS1? command to determine what ring has occurred and then
the ATA command to tell the modem to answer the phone (see chapter 13.
In order for RBBS-PC to answer the phone on a specified ring number, the
modem must send a "ring-indicator" signal to to RBBS-PC. This is the
way that RBBS-PC detects that the phone is ringing. Some computers
(i.e. the PCjr's external RS-232 interface) and some modem cables don't
have a "ring-indicator" signal. PIN 22 is the ring indicator coming
from the modem going to the computer. Just because you bought an RS-232
cable, don't assume that it has PIN 22 connected. The $55 12-pin RS-232
cable sold by many computer stores often may not have PIN 22 connected.
For about $18 in parts from Radio Shack you can put together your own
RS-232 cable with all the pins connected. Recently a friend of mine
paid $14.88 (including postage) for a RS-232 cable with all the pins
connected by ordering part number CDB25P-4-S from Jameco Electronics.
Jameco Electronics' telephone number is (415) 592-8097.
IT LOCKS UP MY SYSTEM! Actually this is probably caused by one of the
following things:
1.) The .EXE file generated by the BASIC compiler is incompatible with
either the DOS that you are running (i.e. it isn't IBM's DOS) or
the other software you load into the system prior to running RBBS-
PC via CONFIG.SYS or your AUTOEXEC.BAT file.
2.) You indicated in CONFIG that you were running in one of the
supported networks (i.e. CORVUS, MultiLink, Orchid, etc.) but you
Page 37 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
aren't.
3.) You are running on a Compaq Deskpro (or using an add-on board that
uses the unused IBM DOS interrupt X'7F') and should have used
CONFIG to indicate you are using an IBM-compatible PC.
4.) You are using an internal modem that doesn't have the same switch
settings as the Hayes 1200 and/or your modem needs to have the
result codes turned off when RBBS-PC re-cycles. Set the modem
initialization string to:
ATQ1E1F1M1X0H0
9.0 PLANNING YOUR USER INTERFACE
---------------------------------
RBBS-PC provides each SYSOP the maximum control over what is presented to
callers. There are three areas of control:
o The menus presented to novice callers.
o What is included in the prompt all users get.
o What symbol invokes a particular function.
9.1 Menus Shown to Callers
--------------------------
The menus in RBBS-PC are external text files that are presented to novice
users. RBBS-PC simply displays what is in these files to the callers.
Therefore, SYSOPs are free to change the text in these files to whatever
they desire. Simply edit the files. However, be sure to use an editor
that produces only ASCII text files with no special embedded characters.
Most word processing editors are not suitable because they insert special
symbols in the file meaningful only to it. WordStar, in non-document mode,
is fine, as is the Personal Editor when files are saved with no tabs, and
the Program Editor. Most editors used for creating computer programs are
suitable.
RBBS-PC supports three types of files, which the caller can select using
his graphics preference. A file with no graphics has only typable text.
ASCII graphics means that all 255 ASCII values display on the caller's
screen using the IBM PC display conventions. This allows support for many
symbols, such as straight lines, a heart, and many others. Using these
conventions, many fancy graphic displays are possible. Last, a use can
request color graphics, which means that the caller's monitor supports not
only the IBM display conventions but supports ANSI commands for controlling
the monitor, which include such things as color as well as special modes
like blinking. Using ANSI commands, it is possible to fully control the
caller's monitor. One can go so far as to create animated pictures.
Menu files are known by their names. The format is XXXXXXXY, where XXXXXXX
is the base file name and Y is a one-character addition. Y is nothing for
no graphics, G for ASCII graphics, and C for color graphics. RBBS-PC will
look for a file based on the users graphic preference and display the
graphics version if it exists. Otherwise, the non-graphics file is used.
Graphics files have more characters in them and therefore take longer to
transmit. Creating them is not easy. However, there are special ANSI and
graphics editors which make creating such files much easier.
9.2 Subsystem Prompts Shown to Callers
--------------------------------------
RBBS-PC has several configuration options which allow each SYSOP to select
the prompts that are presented to callers. They are:
Page 38 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
o Whether the section name is shown.
o Whether the letters of the available commands are shown.
The commands in RBBS-PC are divided into three sections: MAIN, FILE, and
UTILITY. Each has a set of commands in them and there are command to move
between sections. If the SYSOP elects for the section name to be shown,
the command line will read "<section> command", otherwise "Your command".
The default is to show the section.
RBBS-PC normally prompts a caller with the commands available in each
section that the caller has sufficient security to invoke. Each command is
a single letter and is shown separated from the others by a comma. These
command letters can either be suppressed or not. By leaving them on a
SYSOP provides each caller with a terse but helpful reminder of what
commands are available to them.
9.3 Commands Available to Callers
---------------------------------
All primary commands in RBBS-PC are invoked by single letter commands. An
attempt is made to associate the command with the first letter in a word
which describes the function, so that the command letter appears to be a
short abbreviation for the longer word. The command to invoke reading
messages is R. The default symbols that would be shown in the command line
for each section are:
section|? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7
-------|-------------------------------------------------------------------
MAIN |? A B C D E F H I J K O P Q R S T V W X 1 2 3 4 5 6 7
|
FILE |? D G H L N Q S U V X
|
UTILITY|? B C F G H L M Q R S T U X
|
GLOBAL |? H Q X
Four commands, ? H Q and X, have the same meaning in every section and are
known as "global." The other commands all have unique function specific
for the section within which they are invoked. For example, S in the main
section stands for S)can messages, but S)ubstring search in files, and
S)tatistics on the board and session in utilities. Symbols 1-7 stand for
SYSOP functions.
RBBS-PC allows the SYSOP to substitute any symbol for any command. Y)ell
may be substituted for O)perator page, or Y)our mail for P)ersonal mail.
If a blank is substituted, the command is removed from the list and is no
longer available. Since there is no V)iew conference command in the main
section, a SYSOP may elect to disable the V)iew conference command in the
main section by substituting a blank for it.
9.4 RBBS-PC's "Wrap-around" Command Search
------------------------------------------
There is a special option available in CONFIG which gives the SYSOP unusual
flexibility in configuring the user interface. A caller is always "in" a
section, that is where RBBS-PC looks for a command that the user requests
to see whether it is a valid command. The "wrap around" option controls
how RBBS looks further for a command when it is not found in the section
the caller is in. If a SYSOP substitutes a blank for the V>iew conference
command in the main section (as mentioned in section 9.3) and a user enters
the V command from the main section, the V>erbose ARC file list command
would be what the caller would have invoked.
Page 39 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
The basic idea is to look further in other sections, where the search order
is MAIN->FILE->UTILITY->GLOBAL->SYSOP and the search is circular, more like
,-->- SYSOP --> MAIN -->---.
| |
G |
L F
O I
B L
A E
L |
| |
`----<--- UTILITY ---<-----'
The current section determines only where the search starts. If roll-
around is used, the search will go completely around. The real reason that
"global" commands are global is that that RBBS-PC always searches after the
utility section if a command is not in the current section. SYSOP commands
are therefore global for the same reason.
The important feature that roll-around supports is that a command with a
unique letter works in all sections. Thus W)ho will work everywhere the
same if roll-around is enabled. THIS ALLOWS THE SYSOP TO SUPPRESS
SECTIONS. In effect, by enabling roll-around and giving each command a
unique symbol, all commands become global and there is no effective
difference between sections. This allows SYSOPS to make commands available
on a single level and makes it unnecessary to "go" to a section before
using a command in that section.
9.5 How to Have a Single Universal Command Line
------------------------------------------------
The command structure within RBBS-PC can be made "flatter" without making
it absolutely flat. Suppose, for example, that a SYSOP wants callers to be
able to do all file functions without going to a files section. In effect,
the file functions are available in the main section, or the file section
is merged into the main section. All that is needed to do is to eliminate
the overlap in command letters between the two sections.
The shared letters are D, S, V, and U. V is easy to handle. Since it is
not really used in the main menu, just disable V in the main section.
D is difficult because both D)oors and D)ownload are entrenched and natural
options. One could leave D for the most frequently used function, say
download, then use a special but arbitrary symbol like @ for doors.
S)earch for substrings could be replaced by F)ind since F for going to
F)iles is not longer needed. This could be accomplished by disabling
F)iles and substituting F for S in the files commands. The main
disadvantage is that experienced users will use F expecting to get into the
F)iles section and will get a confusing command. Alienating the old users
who will try to use F would defeat the purpose of helping them by making it
unnecessary to use F to get the file functions. Better to leave F alone
and use a new letter like Z for Z)ippy search.
U has to be upload. Note that Quit could still get one to utilities.
Using Q;U we can then disable U in the main menu. If three symbols is too
much of an exception we could use W for W)rite user preferences. Then we
could revise the main menu to read
R B B S M A I N M E N U
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Page 40 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
-- MESSAGES -- -- SYSTEM -- - FILES - - UTILITIES - - ELSEWHERE -
E)nter Msg A)nswer survey D)ownload H)elp (or ?) Q)uit
K)ill Msg B)ulletins L)ist W)ho's on F)iles (Q;F)
P)ersonal Mail C)omment N)ew X)pert on/off G)oodbye (Q;S)
R)ead Msgs @)DOORS U)pload W)rite user-pref
S)can Msg hdr I)nitial Wel Z)ippy srch (Q;U)
T)opic msg scan O)perator Page
This menu could be re-written without any apparent sub-sections as
R B B S M A I N M E N U
~~~~~~~~~~~~~~~~~~~~~~~~~~~
A]nswer survey G]oodbye N]ew files T]opic msg scan
B]ulletins H]elp (or ?) O]perator page U]pload
C]omments I]nitial welcome P]ersonal mail W]rite user preferences
@]DOORS J]oin conference Q]uit X]pert on/off
D]ownload K]ill message R]ead messages Z]ippy search
E]nter msg L]ist files S]can messages
In order not to confuse the caller by being in a section and seeing only
some of the commands we want him to use, the SYSOP could elect not to show
the section in the prompt (CONFIG parameter 37) and not to show the
commands (CONFIG parameter 38). Callers would see simply "Your command?" as
the prompt. This makes the expert mode pretty terse, but that simply means
users would spend more time in novice mode before using expert.
Now suppose that only a single command line was desired and that the
commands from the "Utilities" menu commands were to be added to the above.
The "global" H, ?, Q, and X commands already are in the single command
line.
M for message margin can remain unchanged since it is unique to the
Utilities subsystem.
In order to accommodate the redundancy of letters that exist by including
the Utilities subsystem's commands, the W command for the main message
subsystem can be re-enabled and the remote SYSOP's commands be eliminated
in order to re-use the numbers. The Utilities subsystem commands B, C, F,
G, L, R, and S could then be replaced by the numbers 1 through 9. The
Utilities subsystem commands T and U could be replaced by the commands <
and >, respectively.
This final menu of all RBBS-PC commands could be re-written without any
apparent sub-sections as follows and the screen that the would appear to
the "novice" users as:
Page 41 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
R B B S C O M M A N D S
~~~~~~~~~~~~~~~~~~~~~~~~
A]nswer survey M]essage margin set 1] Change Baud Rate 300-->450
B]ulletins T]opic msg scan 2] Display time of day
C]omments O]perator page 3] Set file transfer protocol
@]DOORS P]ersonal mail 4] Set type of graphics mode
D]ownload Q]uit 5] Set page length
E]nter msg R]ead messages 8] Review callers preferences
G]oodbye S]can messages 9] Display system statistics
H]elp (or ?) U]pload a file <] Toggle users options on/off
I]nitial welcome W]ho's on other nodes >] Show the log of callers
J]oin conference X]pert on/off
K]ill message Z]ippy search
L]ist files
Your command?
10.0 PLANNING ON HOW TO UNIQUELY IDENTIFY YOUR CALLERS
-------------------------------------------------------
All callers need a way to identify themselves and to re-identify themselves
on subsequent calls so that they can, for example, read the mail addressed
to them. RBBS-PC expects each caller to set a password so that other
callers cannot easily pretend to be that caller. Callers are most easily
known on bulletin boards the same way they are known in real life - which
is usually by first and last name. This is why the default configuration
in RBBS-PC uses first and last name to IDENTIFY users. The first/last name
is the callers identify or ID.
RBBS-PC also allows the SYSOP to identify callers uniquely by something
other than their first and last names. Perhaps the SYSOP wants one word
alias like AVENGER are to be allowed or perhaps callers must use a
preassigned access code (access code, employee number, account number,
etc.). RBBS-PC allows ANY FIELD inside the users file to be used for
identification. Since there are empty, unused areas in the user file, a
SYSOP can even CREATE A NEW FIELD to be used for caller identification.
When anything other than name is used to identify users, RBBS-PC still
wants callers to specify their names. It just does not use that
information to identify them.
A fairly common problem on bulletin board systems with large user lists is
that two callers can have the same first and last name. A caller discovers
this when they are unexpectedly asked for a password on the first call to a
new system, indicating that another caller has already used that name.
Further, since RBBS-PC is used world-wide many non-english speaking
countries (i.e. in Europe, South America, the Far East) have callers with
names that have embedded blanks, etc. RBBS-PC alleviates this problem
by allowing interior blanks in first and last names. Thus JIM JONES can
register as JIM K JONES or JIM JONES SR or JIM JONES III.
By allowing ANY field inside the user record to be used to uniquely
identify individual callers, RBBS-PC alleviates the basic problem of having
two callers with the same name.
This additional INDIVIDUATION field is used to distinguish callers with the
same ID. The way this works is that callers will have to specify both the
identifying and individuation field and both are used to match record in
the users file. This individuation field can likewise be a new field
created by the SYSOP. For example, the SYSOP can specify that callers be
uniquely identified by both their name and their CITY/STATE. Alternatively
Page 42 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
the SYSOP can specify that callers are to be uniquely identified by their
telephone number, which would be a new field for RBBS-PC to store.
10.1 How to Set Up Identifying and Individuation Fields
--------------------------------------------------------
The identifying and individuation fields in RBBS-PC are controlled by
parameters in CONFIG. The default is to use the caller's first and last
name (combined to be simply name) to uniquely identify a user.
The fields available to uniquely identify a caller (other than the caller's
first and last name) are designated in CONFIG by the starting position in
the users file and length. It is essential therefore to understand WHERE
FIELDS ARE STORED IN THE USER FILE. Consult Appendix A for the detailed
layout of the user file.
RBBS-PC's flexibility requires caution to be exercised when selecting the
locations of fields used to identify and individuate, because options can
be selected that make no sense. For example, it is possible to specify the
user preference field, which means that every time a user changed
preferences, such as default protocol, the user would become a different
user.
There are only two fields in the user file that make sense for identifying
users:
1.) first/last name (column positions 1-31), or
2.) a field designated by you as the SYSOP for your RBBS-PC.
For a SYSOP-designated field, only 4 choices make sense:
none,
name (columns 1-31),
city/state (columns 63-86), or
positions 87-105 in the user record currently "unused."
Positions 87-105 of the users file currently unused provides a potential 19
columns to use for special, SYSOP designated fields. However, there is no
guarantee that these positions will not be used in later releases of RBBS-
PC. Additional fields will be used from the far right. Any SYSOP
intending to utilize this area of the users record is safest if the field
selected begins in column 87 and is as short as possible. The shorter it
is, the more likely there will be room in later releases. For example, 11
columns might be used for telephone number (format 123-1234567). Or 5
columns might be used for account number.
When a special field is created, the SYSOP must also supply the prompt to
be used with the field, since RBBS-PC has no way of knowing how to describe
the field to a caller. The prompt is what is displayed to the caller when
asking for the value of the field.
RBBS-PC uses the callers first and last name for the "to" and "from" fields
for messages even when the users name is not the field used to uniquely
identify callers.
10.2 PRELOADING IDENTITIES FOR INSTANT ACCESS
----------------------------------------------
SYSOPs that operate bulletin boards that are open to new callers have no
problems giving a new caller instant access -- new callers register, set
their identity and password, and are immediately on.
SYSOPs that operate bulletin boards that are only available by
subscription or who delay access operate differently -- a user must
Page 43 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
already know and be able to state identity, individuation, and password in
order to get on. To add a new user, the values of these fields must be
communicated back to the caller in order for them to have access. To
overcome this cumbersome approach, some SYSOPs allow new callers on their
system (albeit at a security level so low that the caller can do little, if
anything) and simply raise the security level of the caller once the caller
has met whatever criteria the SYSOP has set for access to the system.
Typically new callers must call back and continue to check to see if their
security level has been raised. Systems that do not let new callers on
require the SYSOP to enter the appropriate information for each new user,
contact the new caller by mail or phone, and let them know how to get on.
Both approaches introduce delays to new callers for getting on and
additional time, expense and overhead for the SYSOP.
RBBS-PC provides a systematic solution to the problem of delayed access for
new user! A SYSOP can add a user WITH NO VALUE FOR THE INDIVIDUATION FIELD
OR PASSWORD. These fields can be left blank. When a caller logs on with a
proper ID and RBBS-PC finds an individuation value or password that is
blank, it lets the caller set the value of those fields without requiring a
match. Subsequent calls, but not the first, must match the value set for
individuation and password.
Even though a SYSOP can add a user and leave the password and individuation
blank, this still requires that the SYSOP add the user only after an ID is
agreed to by both parties. What if this access is still not fast enough?
The solution provided by RBBS-PC is for the SYSOP to "pre-load" IDs and
give out a pre-loaded ID to the caller for instant access, so that the
client does not have to wait even for the SYSOP to add the ID. Since there
is no way to set in advance how a user wants to be identified, the SYSOP
can set up essentially random account IDs which are difficult to guess and
give these out.
Callers willing to charge subscription fees on their credit cards over the
telephone can be given a valid pre-loaded ID for instant access. The
ability of RBBS-PC to use any field for an ID, and let the first call set
individuation and password, means that RBBS-PC can support boards where
instant access is a critical part of their service.
11.0 RBBS-PC's OPTIONAL AUTOMATIC SUBSCRIPTION MANAGEMENT SYSTEM
-----------------------------------------------------------------
RBBS-PC has support built into it for managing access based on the date of
the call. The primary uses of this facility are
o to make it very easy to control access based on subscription dates.
o to give callers a temporary, date limited boost in privileges.
The subscription management system dramatically reduces the work necessary
for subscription maintenance. After a user is registered, RBBS-PC will
AUTOMATICALLY
o warn users before their subscription expires
o reduce the security of callers whose subscription has expired.
In effect, a subscription RBBS-PC can be left on "automatic" pilot and it
will operate correctly, without additional effort on the SYSOP's part.
The subscription management system can also be used to grant callers a
temporary boost in privileges. For example, giving new callers a "free"
trial period.
Page 44 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Just like cable TV channels that sometimes have a free week of viewing to
attract new subscribers by letting them know what they are missing, a SYSOP
of a subscription RBBS-PC can set up limited free offers. By setting up a
default subscription period of say, 5 days, all new callers can be let onto
to see whether they want to subscribe. After 5 days, security drops back
down to a more limited level. This "free" period can be made a standing
offer, or turned off after a two week period. Or, a user who requests a
trial period can be individually added with a short subscription period.
Limited trial subscriptions also are an attractive alternative for those
SYSOPs that do not give full privileges until after a caller is verified or
checked out. These callers are either asked to fill out a registration
form or leave a comment, then sometime later the SYSOP decides whether to
increase the security level. By letting new users have a short
registration period with higher privileges, say 3 days, a SYSOP may choose
to give new callers immediate access and minimize the pressure to check the
new caller out as soon as possible. The SYSOP need do nothing if a caller
cannot be verified. Those that check out get their security raised. This
way the many honest new users are not penalized but the prank or dishonest
callers can get on only briefly.
11.1 Setting It Up
------------------
The subscription management system is turned on by specifying in CONFIG to
limit callers by subscription date. After access is so limited, RBBS-PC
automatically records the date of the first call. For old users, this will
be the first call made since the subscription date began to limit access.
This recorded date is the base registration date. The SYSOP then needs to
specify in CONFIG:
o A default subscription period (the number of days a new user gets).
o A warning period (which determines when callers will get an
advance warning that their subscription is about to expire. The
warning period is the number of days left needed to trigger a warning.)
o The security level expired subscribers get.
In the PASSWRDS file, the SYSOP designates:
o Different subscription periods for each security level (other than the
default security level). This needs to be specified only if a
subscription period is desired that will override the default.
RBBS-PC determines when the subscription will expire by adding the
subscription period to the base registration date. Persons calling after
this expiration date are bumped down to the expired security level set by
the SYSOP in CONFIG.
The subscription periods associated with different security levels is the
fourth parameter on a line in the PASSWRDS file (see section 17.3 for more
information). For example, to associate a subscription period of 365 days
with a security level of 7 having a daily time limit of 60 minutes, the
entry in PASSWRDS would be
,7,50,365
Page 45 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
11.2 An Example
---------------
A subscription RBBS-PC offers the following levels of service:
$3 for 1 year, 60 minutes per day
$5 for 2 years, 60 minutes per day
new users, 3 days with 20 minutes else 5 minutes
This could be instituted by limiting callers by subscription date, limiting
the daily time to the session time, setting the default security level to
5, the default session limit to 20, the default subscription period to 3,
and expired security to 4. The following lines should then be added to
PASSWRDS.
,6,60,365
,7,60,700
,4,5,
New callers get the defaults: security 5, 20 minutes session time, and 3
days on subscription. After 3 days, the unpaid caller drops down to
security 4, which is limited to 5 minutes per day. The SYSOP sets the
security of 1 year subscribers to 6 and 2 year subscribers to 7. After the
SYSOP configures the system and sets the security level for subscribers,
RBBS-PC does all the work of properly managing the callers with no further
effort on the part of the SYSOP.
12.0 USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC
----------------------------------------------------
The RBBS-PC.DEF file is created by the CONFIG program and contains the
program's default operating parameters and values. When you run the
CONFIG program to create RBBS-PC.DEF or to update it, you can change
many of these parameters to meet your needs. Certain parameters which
control critical operations of the programs are embedded in the RBBS
program and should not normally be changed by the system operator. When
setting RBBS-PC is set up for the first time, SYSOP's are urged to take the
default values generated by CONFIG except for those parameters that are
unique to their configuration (i.e. the communication port, etc.).
CONFIG.BAS, unlike Gaul, is divided into many parts or screens. They are:
Screen Description
1 Global RBBS-PC Parameters (Part 1 of 3)
2 Global RBBS-PC Parameters (Part 2 of 3)
3 Global RBBS-PC Parameters (Part 3 of 3)
4 Parameters for RBBS-PC "static" files
5 Parameters for RBBS-PC "dynamic" files
6 Parameters for RBBS-PC "doors"
7 Parameters for RBBS-PC Security
8 Parameters for Multiple RBBS-PC's and "conferences"
9 RBBS-PC Utilities
10 Parameters for RBBS-PC's File Management System
11 RBBS-PC Communications Parameters
12 RBBS-PC Net Mail
13 New users parameters
14-18 Reserved for future use
The user may scroll forward or backward through the 13 screens of
parameters in CONFIG.BAS using the PgUp and PgDn keys on the keyboard.
Additionally users may go directly to a specific screen by pressing a
function key (F1 through F10) or SHIFT and a function key (shift/F1 through
Page 46 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Shift F8) corresponding to the page to be selected. To terminate CONFIG,
users need only press the "End" key on the keyboard.
The compiled version of CONFIG.BAS can be invoked with the command:
CONFIG.EXE <config file>
The <config file> is an optional name of the configuration file to be
created or edited. This assumes that the compiled version of CONFIG.BAS,
CONFIG.EXE is on the default disk drive. CONFIG.BAS will write the RBBS-PC
definition file, RBBSxPC.DEF to the default drive.
12.1 Global RBBS-PC Parameters (Part 1 of 3)
--------------------------------------------
Parameters 1-5 request the RBBS system operator's (SYSOP) name, dual
passwords if logging on remotely, and an optional password if logging on
locally (i.e. via the Esc key on the PC running RBBS-PC).
When logging onto the system remotely, the SYSOP can log on using
Password #1 as a first name and Password #2 for as last name, in which
case the system will recognize them as the SYSOP and allow all the SYSOP
functions to be performed, even as a remote user. The SYSOP name is used
to insure that users are not attempting to access RBBS-PC using the SYSOP
name hoping to get a higher access level. Attempting to logon using the
SYSOP name will result in "LOGON DENIED" and a posting of the attempt
in the CALLERS file. If you want to eliminate anyone from logging on as
the SYSOP, you can simply reply with a "null" (i.e. a carriage return) to
Password #1 and Password #2.
The ESC key is used to log on in local SYSOP mode. Parameter 5 allows a
password to be required if someone hits Esc on the keyboard of the PC
running RBBS-PC before they are considered a local SYSOP. If you enter
NONE, no password is required.
The SYSOP's default sign-on mode is set by parameter 6 as either EXPERT
or NOVICE. Unless you are very familiar with the RBBS-PC CPC14's command
structure, the SYSOP's sign-on mode should be NOVICE.
The SYSOP can be paged by callers. Parameter 7 allows the SYSOP to set the
"office hours" when a user can page the SYSOP. The IBM PC's bell is
rather insistent, and these hours should be set to match when you will be
within ear-shot of the RBBS-PC. The times are set using a 24-hour
military clock (i.e. 10:00 P.M. is 2200 hours). The SYSOP can override
these hours by activating the page bell via function key 4 on the keyboard
of the PC running RBBS-PC.
Because the bell on an attached printer is usually louder than the one
built into the PC, the SYSOP can elect to have the printer's bell via
parameter 8 whenever the SYSOP is "paged".
Parameter 9 allows a SYSOP to not accept calls if the caller is trying to
access his system at 300 BAUD. Some SYSOP's believe that 300 BAUD users
have a "pre-puberty" mentality and cause more problems (i.e. infantile
messages) for the SYSOP than their contributions justify. While RBBS-PC is
intended to be as open a system as possible, each SYSOP has the option of
electing to lock out 300 BAUD access. Another reason for denying access to
300 BAUD users is when RBBS-PC is running in a multi-tasking DOS
environment that does not handle 300 BAUD very efficiently (i.e. like
MultiLink). Whatever reasons a SYSOP has for denying access to 300 BAUD
users, this option enables the SYSOP to select to do so using CONFIG rather
than having to modify the RBBS-PC source code. However, even if 300 baud
Page 47 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
access is denied, RBBS-PC can be configured to allow registered users to
logon at 300 baud even if new users can't.
Parameter 10 allows each SYSOP to see the color text files (i.e. menus,
help files, etc.) exactly as the remote user sees them. Obviously the
system running RBBS-PC should have a color monitor. More importantly each
SYSOP that elects to activate this option should satisfy themselves that
the program ANSI.ASM written and copyrighted by David Terry and modified by
Dave Staehlin will not harm your particular brand of color monitor or color
graphics board.
In order to effectively use this option you must have the ANSI.SYS driver
loaded on your machine. This can be accomplished by including the
statement
DEVICE=ANSI.SYS
within your system's CONFIG.SYS file. This load's the standard IBM-
supplied ANSI.SYS file into your system. If you use an ANSI.SYS other than
the one supplied by IBM, you may not see what your remote user sees.
CAUTION! - Dave Staehlin indicates the changes he made to the .ASM
and .OBJ files reference some color page BIOS - hence,
this may not work with a monochrome video card or
within certain configurations! Similarly, it may not
work with anything other than the standard IBM Color
Graphics card and an IBM Color Monitor. Many "plug-
compatible" color cards (like Hercules) have been known
to burn out a monitor. Any SYSOP who elects this
option takes on the SOLE responsibility and risk of
determining if the combination of the many components
involved in the particular system RBBS-PC is to be run
in (the ANSI.SYS, ANSI.OBJ/.ASM code, the color card
being used, the color monitor, the BIOS, and the memory
configuration) would cause damage to these or any of
the other components within the system. To be safe,
don't activate this option. If you do activate this
option and your system is damaged, you should not
expect to be reimbursed for such damage. This option
is provided only as a convenience to those SYSOP's who
have assumed the sole responsibilities for any results
that occur activating this option. Remember, this
option need not be activated in order to run RBBS-PC
normally!
Parameter 11 gives the SYSOP the option of electing to have RBBS-PC
automatically take itself off-line if a "disk full" condition occurs. In
previous versions, this was not an option. Now, if the SYSOP has a floppy
disk for uploads that gets full and everything else is on a hard disk, the
SYSOP can keep RBBS-PC from taking itself off-line should the floppy disk
get full.
Parameter # 12 is the SYSOP'S preference for prompt sounds when input is
required. When this is on, both the remote user and the local SYSOP will
hear the prompt bell when input is required from the remote user.
Parameter # 13 of the CONFIG program asks for the maximum amount of time
each user is to be allowed on the system per session. Set the number of
minutes to whatever you are comfortable with, but 72 minutes is a good
setting for starting up. Subsequently you may have to lower this number
once your number of callers increases, in order to keep callers' waiting
Page 48 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
times reasonable. This can also be made the maximum time on the system per
day. As described elsewhere, each security level can have its own maximum
time on the system per session specified.
A SYSOP may limit the maximum amount of time any single user can spend on
your system each day via parameter 14 of CONFIG. This is helpful if you
have a relatively busy RBBS and want to have as diversified group of
callers as possible. What this parameter does is to tell RBBS-PC to keep
track of the total amount of elapsed time a user is on RBBS each day. Each
time a caller logs on, the maximum amount of time that they are allowed on
the system is checked against this daily cumulative total. The time
remaining in each caller's session is the difference. When a caller
exceeds this maximum and tries to log on again, they are told that they
have exceeded the allocated time for that day and to try again tomorrow.
Parameter # 15 sets the number of months inactivity that must elapse before
a user is deleted from the USERS file when the SYSOP "rebuilds" the user
file.
Parameter # 16 allows the SYSOP to specify the name of the RBBS-PC that is
to be displayed when a user first connects with the system and prior to
completing the logon process.
Parameters 17 through 19 allow the SYSOP to specify the colors desired
for the foreground, background, and border. When specifying these options
the BASIC manual's section describing the COLOR command in text mode should
be consulted. This is useful when running multiple RBBS-PC's and you
want a handy way of determine which RBBS-PC it is that you are viewing on
the screen. This option is NOT available if the SYSOP has specified a
"ring-back" system.
Parameter 20 is not implemented in CPC15-1B.
12.2 Global RBBS-PC Parameters (Part 2 of 3)
--------------------------------------------
Parameter 21 allows the SYSOP to remind users not only of the messages
that might be for them but also messages that they may have left. This
should be enough of a nuisance to insure that users do delete some of the
messages they have left and help to keep the MESSAGES file to a minimum.
Parameter 22 allows the SYSOP to elect to remind users of how many files
they have downloaded and uploaded.
Parameter 23 allows a SYSOP to remind users every time they log on of the
preferences they have selected for such things as file transfer protocol,
graphics, nulls, etc.
Parameter 24 allows the SYSOP to establish a default page length for users
when they log on. A 23 line page length is the default, but the SYSOP
can set it to any number between 0 and 255. If set to 0, the user
will receive continuously scrolling output.
Parameter 25 allows the SYSOP to specify (within the range of 1 to 30) the
maximum number of lines allowed in each message.
Parameter 26 allows the SYSOP to tell RBBS-PC that files ending in binary
file extensions (i.e. .ARC, .EXE, .COM, .OBJ, .WKS, .BAS, or whose
second letter of the extension is Q) can not be downloaded unless the
user selects XMODEM or MNP. This should eliminate some user problems
before they occur. IBM's BASIC interpreter's SAVE command default is
to write files in a special binary format (also referred to as
Page 49 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
'tokenized') because they require much less disk space.
Parameter 27 allows a SYSOP to "reward" users who upload files by adding
some multiple of the elapsed time it took for the file upload to the
current session time. This should be used judiciously as some users may
abuse this by repeatedly uploading COMMAND.COM or some other meaningless
file. This extends only the users current session and NOT the elapsed time
the user may be limited to per day via parameter 15.
Parameter 28 lets the SYSOP force a questionnaire to be answered by all
callers, old and new, exactly once. RBBS-PC records in the users record
when the required questionnaire is answered so that it will not ask the
caller again. Parameter 166 lets the SYSOP reset the flag back to off for
all users. This should be done when the SYSOP wants to install a new
required questionnaire to be used to survey all callers. In questionnaire
is required, this parameter can be specified as NONE.
Parameter 29 allows the SYSOP to make the system "welcome" file
interruptable. The default is that YES it is interruptable. However, if
the SYSOP feels too many people are bypassing it and it contains essential
information, the SYSOP can set this parameter to NO (i.e. the user can not
suspend or cancel the listing of this file at their terminal with a CTRL S
or CTRL K).
Parameter 30 is intended to allow the SYSOP to indicate if the system
bulletins are to be optional for users when they log on. If bulletins are
optional, callers can elect to automatically bypass old bulletins and be
notified only when there are new bulletins. RBBS-PC will check the file
date of the bulletins and inform the caller which are new, with the option
to read all of the new bulletins. If none are new when bulletins are
optional, the bulletins will be automatically bypassed.
Parameter 31 is designed to allow RBBS-PC to run on some "IBM-compatible"
PC's that make use of unused interrupts or on the IBM PCjr. RBBS-PC
checks to see if the unused interrupt X'7F' is non-zero. If it is, RBBS-PC
thinks that the software product, MultiLink (from The Software Link, Inc.)
is present and issues the appropriate MultiLink calls. Obviously if this
is not the case, strange and unpredictable things happen which result in
RBBS-PC not working. The COMPAQ+ is an example of this syndrome.
If running RBBS-PC on an IBM PCjr using an external modem but without an
internal modem, the communications port must be opened as COM1 even though
RBBS-PC must use the COM2 RS-232 registers for controlling the
communications port.
Parameters 32-36 let the SYSOP change what symbols are used for each RBBS-
PC function by substituting a new letter. Additionally, a space
substituted for a command will disable that command, in effect removing it
from the system. A natural command to be disable is the V)iew conference
command, since it is not implemented. SYSOPs with no DOORS may wish to
disable D rather than to confuse users by displaying options not available.
All commands displayed to callers in the command prompt will be in sorted
order.
Parameter 37 allows the section name to precede the command prompt that is
displayed when a caller is asked to enter a command. The command prompt
begins with <section>, where <section> is MAIN, FILE, or UTIL, if option 37
is selected. Otherwise, the prompt will begin with YOUR. Normally the
section in the prompt helps the caller remember where he is, but see
Chapter 8 for reasons to suppress the section.
Page 50 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Parameter 38 allows the SYSOP to not display the commands to the caller
when waiting for the user to enter a command. The default in RBBS-PC is to
remind the caller what commands are available by giving a sorted list of
the letters used for each command at the end of the command prompt. RBBS-
PC shows only the commands available in the section that the caller is in.
If the SYSOP chooses not to display the section a user is in, there are
more commands available than will be shown in the prompt.
Parameter 39 allows the SYSOP to elect to use machine language subroutines
(rather than the BASIC routines) for a few of the more commonly used
subroutines. These may only be functional within a DOS that is supplied by
IBM (rather than Microsoft). Therefore this is optional. If you encounter
problems, simply elect to utilize the BASIC routines which are much more
likely to be compatible in none "baseline" configurations. In most cases
the assembler routines are much faster than their BASIC counterparts,
especially in file searches.
RBBS-PC supports a "wrap-around" search for valid commands. This means
that when a command is not found in the current section, other sections are
then searched. The order of search is MAIN->FILE->UTIL. For example, if L
is picked when in the main section, where there is no command, the L)ist
command in the file section will be executed. Option 40 lets the SYSOP
turn this wrap-around search and not execute commands in other sections.
Wrap-around is required if the SYSOP want's to have a single command line
(i.e. not have the "Utility" and "File" subsystems).
12.3 Global RBBS-PC Parameters (Part 3 of 3)
--------------------------------------------
Parameters 41 and 42 determine how callers are going to be uniquely
identified when they log on. The default in RBBS-PC is to concatenate
first and last name to form name. Parameter 41 lets SYSOPs choose another
field as user ID. A field is specified by giving its starting position and
length in the user file, and a prompt must be supplied which will be used
when asking for user ID. BE VERY CAREFUL CHANGING THIS PARAMETER.
Parameter allows the SYSOP to specify a name to be used when prompting the
user for the field (i.e. ACCOUNT #). See chapter 8 for additional details.
RBBS-PC assumes that name is being used whenever the ID begins in column 1.
Parameter 42 lets a field be specified that will be used to distinguish
callers with the same ID. Like with ID, the beginning column, length, and
prompt must be specified. RBBS-PC defaults to no individuation, which is
specified by setting the beginning column to 0. Activating this option
forces uses to give additional information when they log on, since both ID
and individuation value have to be given. See chapter 9 for details on how
to use this option.
Parameters 43 through 46 address access control via the automatic RBBS-PC
subscription management facilities. For a detailed discussion of RBBS-PC's
automatic subscription management facilities, see chapter 10. Parameter 43
means that access will be controlled by subscription dates, and persons
with expired subscriptions will get reduced privileges. Parameter 44 is
the security level callers get after their subscription expires. Typically
this security significantly reduces what a caller is allowed to do.
Parameter 45 specifies when callers are to be warned in advance that their
subscription is about to expire. This warning is based on the number of
days before a subscription expires. Parameter 46 specifies the number of
days a new user gets in the subscription period.
Parameter 47 determines whether RBBS-PC will ever try to write to a
printer. The default is to try to write to a printer, then turn the
printing off it there is any problem. On some networks the attempted write
Page 51 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
can generate a spooler error that hangs the node. Setting this parameter
to "YES" guarantees that nothing ever gets written to a printer.
Parameter 48 causes RBBS-PC to play musical themes for auditory feedback on
what is happening on a board. This can be important for SYSOPs that are
sight impaired. These musical themes are "played" on the speaker of the PC
that is running RBBS-PC. The themes are not transmitted to the caller.
Parameter 49 is the buffer used internally by RBBS-PC when displaying text
files such as menus, directories of files, etc. A SYSOP can set parameter
218 to either minimize memory usage or optimize speed. It is the size of
the internal buffer that RBBS uses to real in most text files, including
menus. The bigger the buffer, the fewer disk accesses necessary to display
the file and the faster the display will be. The default of 128 is the
minimum recommended. Increasing this to 512 will increase the speed of
text displays.
Parameters 50 through 52 are not implemented in CPC15-1B.
12.4 Parameters for RBBS-PC "text" Files
----------------------------------------
Parameter 61 specifies the name of text file that is shown to a user if
bulletins are not optional (see parameter 30) or if the user replies "L"
when notified of how many bulletins exist. This file should contain a list
of the bulletins (i.e. 1-99) and a brief one-line description of the
contents of each (e.g. "New Release of RBBS-PC").
Parameter 62 allows a SYSOP to have from 0 to 99 "bulletins." If there are
0 bulletins a user is notified that there are no bulletins. Bulletins
should be brief, informative, and timely. I personally think that there
should be very few bulletins and that they should be changed often if users
are to be enticed to look at them. Making bulletins optional (parameter
30) and bringing them to the attention of the caller on when there are new
ones encourages callers to read the bulletins.
Parameter 63 provides the SYSOP with the flexibility to make the prefix of
the bulletins anything he wants (i.e. BULLET). To this is added the number
(i.e. BULLET7 for bulletin number 7) and the disk drive designated in
parameter 41 is searched for the bulletin number requested when some asks
to see a bulletin. If the file is not found, the user is so informed. If a
"graphics" equivalent is found and the user has signed on N/8/1 and
requested graphics, the graphics version of the bulletin is displayed (i.e.
BULLET7G).
Parameter 64 indicates the disk drive and path on which RBBS-PC is to
search for to find RBBS-PC's on-line "help" files whenever a user asks for
help within a specific subsystem. This is where the help files should be
stored.
There are some specific help files used by RBBS-PC whose name is simply a
help prefix plus a number. The SYSOP may elect to call the prefix
something other than the default of "HELP0". Parameter 65 allows the SYSOP
to pick up to a seven-character prefix to which the numbers will be
appended. This file name is what RBBS-PC will look for on the drive
specified in parameter 64 when a user asks for help on-line. As with
"bulletins", if a "graphics" equivalent is found and the user has signed on
N/8/1 and requested graphics, the graphics version of the help file is
displayed (i.e. HELP07G).
RBBS-PC identifies help for a particular command by the letter of the
section and the letter of the command, plus an extension for the help
Page 52 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
files. The extension "HLP" is the default but option 66 lets the SYSOP set
this to whatever desired.
Parameter 67 is the name of the file that is displayed to a caller should
the caller ask for help when requested to categorize a file that has been
upload. RBBS-PC' File Management System can be configured to minimize the
SYSOP's activities by allowing users to categorize the files that are
uploaded. This file should list the names of the categories that an
uploader can select. It should be stored on the same drive and path as the
other help files. The category selected will be validated to make sure that
it is in the list in DIR.CAT or that a valid category file with that name
exists. The appropriate category code will be written out to the shared
FMS directory, or the entry for the upload will be appended to the category
file.
Parameter 68 allows the SYSOP to select any name for the text file that new
users see when they first log on and before they "register" themselves in
RBBS-PC's USERS file. A user sees it once and only once during his first
session. It can contain anything you want it to, but a brief explanation
of your Board's purpose, "rules", etc. might be appropriate.
Parameter 69 allows the SYSOP to select any name for the text file that
each user sees EVERY time AFTER they log on. Keep it brief! RBBS-PC will
look for a "graphics" equivalent if the user qualifies for graphic displays
(i.e. it will display the file HELLOG in lieu of HELLO).
The file named "PRELOG" will be displayed as soon as carrier is detected
and BEFORE a user can log on. It is displayed immediately after the name
of the RBBS-PC is shown (see option 16) and providing it:
1. has the name PRELOG and,
2. is on the same disk drive as the WELCOME file.
SYSOP's should use "PRELOG" to convey such information as whether real
names are required, 300 baud users will automatically be denied access,
etc.
Parameters 70 through 75 focus on the text files that RBBS-PC displays to
novices as "menus." Menu files shown to novices tend to be frequently
accessed. Systems that do not have disk caching should consider putting
menus in a RAM disk in order to cut down on the wear and tear of your disk
drives.
Parameter 70 allows any valid name to be given to the text file containing
the commands allowed those with SYSOP privileges.
Parameter 71 allows the SYSOP to specify the name of the text file
containing the menu of commands available to those in the main "messages"
subsystem.
Parameter 72 allows the name of the text file containing the menu of
commands available to those in the "files" subsystem to be any valid name.
Parameter 73 allows the name of the text file containing the menu of
commands available to those in the "utilities" subsystem to be any valid
name.
Parameter 74 is the name of the text file listing the names of the
conferences that are available. Conference names must be seven-characters
or less, in all caps, and cannot have any character to the left or right of
Page 53 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
the name except possibly a space. The SYSOP must already have pre-
formatted the messages and users files associated with the conferences (see
chapter 19.0).
Parameter 75 allows the user to specify the name of the text file
containing the list of the questionnaires, surveys, or forms which callers
can fill out or answer. The scripting support built into RBBS-PC allows
the SYSOP to construct a series of questions to be presented to the caller
and save the answers. Questionnaire names must be eight characters or
less, in all caps, and cannot have any character to the left or right of
the name except possibly a space. Of course, the actual file name for the
script has an extension of ".DEF". Thus, a questionnaire called SURVEY
would appear in the text file identified in Parameter 75 as SURVEY,
preceded and followed by at least one blank character, and exist as a file
named SURVEY.DEF.
Parameter 76 is the name of the text file listing names that the SYSOP
considers inappropriate. This file is used when a new user signs on. The
new users first and last name are each individually checked against the
names in this file.
The format of this file is as follows:
<name>,
An example of such a file would be:
KILLER,
MAN,
THE,
DOC,
DOCTOR,
DEATH,
All names should be UPPER CASE! If you create the file using IBM's standard
DOS text editor, EDLIN, each line should end with a comma. If you create
the file using COPY CON, each line should end with a carriage return (i.e.
the "enter" key). The last line (when using COPY CON) should end with a
Control Z, F6, and then carriage return. BASIC will treat either a comma or
a carriage return as a field delimiter. You need a field delimiter
following each of the names. If the above file existed, any new user who
logged and used the following names would be denied access:
Byte Killer
Kilo Man
Doctor Death
PC Doctor
The Best
12.5 Parameters for RBBS-PC "system" Files
------------------------------------------
Parameter 81 allows the SYSOP to specify the file name for the file used by
RBBS-PC to hold the messages on the bulletin board. This file can NOT have
an extension because RBBS-PC appends the extension ".BAK" to the file name
when "packing" the messages file.
RBBS-PC keeps a profile of each user who logs on in a "user record" (see
Appendix A for a layout of this record). Parameter 82 allows the SYSOP to
specify the file name for this file. This file can NOT have an extension
because RBBS-PC appends the extension ".BAK" to the file name when
"packing" the users file.
Page 54 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Instead of leaving a "message", a user may leave a comment for the SYSOP
that is readable only by the SYSOP. Parameter 83 allows the SYSOP to
specify the fully qualified name for the file used by RBBS-PC to store
users' comments.
Parameter 84 allows the SYSOP to have comments recorded as private messages
to him in the main messages file providing there is any room. This allows
replies to comments to be done much more easily.
RBBS-PC maintains a log of user activity on a "callers" file. It contains
information on the date, time, communications parameters of who logged on;
what they uploaded or downloaded; and any security violations or errors
that were generated. Parameter 85 allows the SYSOP to specify the fully
qualified name for the file that RBBS-PC uses for this log.
If parameter 86 is selected, additional items of information are included
in the CALLERS file:
1) "Connect not completed" 9) "Left comment at time"
2) "Sleep disconnect" 10) "Logged off at time"
3) "Caller changed name/address" 11) "Carrier dropped at time"
4) "Newuser" 12) "Message # xxxx left at"
5) "Bulletin# read" 13) "Read Messages ..."
6) "SYSOP initiated Chat" 14) "Answered questionnaire xxx"
7) "Entered Conference name"
8) "Time limit exceeded"
It should be remembered that for each occurrence of the above, the CALLERS
file will increase by 64 bytes. Unless you either have a hard disk or are
willing to frequently maintain your system in order to leave enough free
space on the disk drives for new files, this option should NOT be
activated.
Parameter 87 has not been implemented in CPC15-1B.
12.6 Parameters for RBBS-PC "Doors"
-----------------------------------
Parameter 101 allows the SYSOP to enable RBBS-PC to exit and return to the
system (i.e. DOS). You will also be asked if you will be running "doors"
with MultiLink. If you reply yes, you can they choose what type of
terminal MultiLink is to assume the user is using when MultiLink receives
control from RBBS-PC. See the MultiLink manual for the various terminal
types. If you choose terminal type zero, MultiLink will not be given
control of the communications port when RBBS-PC exits to the "door." Use
this if your application is coded to control the communications port. The
batch file out of which RBBS-PC is invoke should then check to see if a
"door" is to be invoked. A "door" is simply a batch file that the SYSOP
has created which RBBS-PC users are allowed to exit to and which will then
take control of the remote users communication port.
Parameter 102 allows the SYSOP to specify the fully qualified file name of
the menu that lists the names of the "doors" available to users. RBBS-PC
checks this file to verify that the name of the door that the user
requested is in the doors menu (see chapter 16). A door name in the menu
must have 8 or fewer characters, be in all caps, and the only character
that can occur immediately before and after the name is a space.
Parameter 103 allows the SYSOP to specify the fully qualified file name of
the file that RBBS-PC is to use when dynamically building the .BAT file
that invokes the "door" selected by the user. The batch file that invokes
RBBS-PC must contain an "IF" to check if this file exist whenever RBBS-PC
Page 55 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
terminates and (if it exists) to execute it (see chapter 15). This is also
the same file name that is used when the SYSOP exits to DOS.
When a door finishes RBBS-PC is re-invoked. Parameter 104 allows the SYSOP
to specify the fully qualified file name of the .BAT file that should be
used to re-invoke RBBS-PC (see chapters 15 & 16). This is also the same
file name that is used when the SYSOP returns from exiting to DOS.
Whenever you exit to a "door" or to DOS (via the remote SYSOP's function
7), RBBS-PC needs to know where to find COMMAND.COM. In a network
environment with several PC's the COMMAND.COM's may be different for each
PC. Parameter 105 allows the SYSOP to specify for the each copy of RBBS-PC
a disk drive on which to find the COMMAND.COM appropriate for that copy of
RBBS-PC.
Parameter 106 allows the SYSOP to elect to redirect I/O to communications
port when executing a program external to RBBS-PC either via the standard
DOS "Change Console Command" (CTTY) or the special characters < (for input)
and > (for output).
Parameter 107 allows the SYSOP to select how RBBS-PC is to invoke those
external programs such as communications protocol drivers for file
transfers (i.e. Kermit) to fulfill its own functions. There are two ways
to execute these other programs:
1. EXITing RBBS-PC and invoking the other program via a .BAT file that
RBBS-PC builds dynamically, or
2. SHELLing to the other program while RBBS-PC remains in memory.
EXITing RBBS-PC allows other BASIC programs to be run as external programs
to RBBS-PC, conserves memory, and allows all of RBBS-PC's features to be
active in computers with only 256K of memory. The "price" that is paid is
that upon returning from the externally called program RBBS-PC's .EXE file
must be reloaded into memory.
SHELLing prohibits other BASIC programs to be run as external programs to
RBBS-PC, consumes memory because RBBS-PC remains in memory when the other
program is running, and requires 292K of memory (under DOS 3.2) to activate
all of RBBS-PC's features. However, SHELLing does eliminate the need to
reload the RBBS-PC.EXE file each time. Option 107 lets the SYSOP specify
how other programs will be invoked. See option 213 as well regarding the
external protocol drivers.
12.7 Parameters for RBBS-PC's Security
--------------------------------------
Parameter 121 specifies the minimum security level users need in order to
log onto RBBS-PC and parameter 122 specifies the security level assigned
to new users. If the security level assigned new users is less than the
minimum security level to log on, no new users can logon on. This means
that no new users are allowed and access is limited only to pre-registered
users. Since one of RBBS-PC's two objectives is to facilitate the exchange
of information, every RBBS-PC SYSOP is urged to not entirely deny new users
access. The chapters on RBBS-PC's extensive security features and
subscription management detail the ways in which a SYSOP can control access
to his RBBS-PC without having to deny access to new users.
Parameter 123 allows you the minimum security level a user must have to be
considered an "assistant" SYSOP by RBBS-PC to be specified. Even if a user
has a high enough security level to see the SYSOP's menu and execute some
or all of the SYSOP commands, the user will not be treated as a SYSOP (i.e.
Page 56 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
allowed to see the files upload/download when viewing the CALLERS file)
unless the users security level is equal to or greater than that specified
by this parameter.
Parameter 124 specifies the name of the file that contains a list of file
names that CANNOT BE DOWNLOADED (even if they are on the disks that
are available for downloading) unless the user supplies a password and/or
is at a specific security level. If you want to have no file security
at all, just put no file names in this file. If you include a password
with a file name all users (including one with SYSOP privileges) must be
able to give the password in order to download the file. For a more
detailed description of this file and how it works, see the section
entitled "How to Implement the Security for Download Files."
Parameter 125 prevents the SYSOP menu from being displayed (even if the
user has a security level of a SYSOP as specified in option 123) unless
the user is also at this security level.
Parameter 126 allows the SYSOP to set the minimum security level a user
must have to exit RBBS-PC via a "door". This security level must be equal
to or higher than the security level for the "D>oor" command (see Parameter
129).
Parameter 127 allows a maximum number of security violations (i.e.
attempts to download protected files) before the user is logged off and
locked out.
Parameters 128 through 132 allow the SYSOP to set up the security
levels required to issue the commands in the SYSOP, Main Menu, File
Subsystem, Utilities Subsystem (respectively), and global commands. All
the commands in each area can be given the same security level or,
optionally, a specific command can be given a unique security level.
Parameter 133 specifies the file name which contains the privileged
group passwords that allow users to change temporarily their security,
time on the system, etc. -- if the SYSOP has set it up that way.
Callers shift to a group password by changing passwords. If the
password they select is found in the file containing the privileged
passwords, their private logon password is unchanged and they receive the
security level and/or time limit associated with the group password. If you
have no group passwords, just put nothing in this file. For a more
detailed description of this file and how it works, see the section
entitled "How to Implement the Password File."
Parameter 134 allows the SYSOP to specify the maximum number of times
users can change their passwords in a given session. This prevents a
caller from "fishing" for special passwords.
Parameter 135 is the minimum security level required in order for users to
change temporarily their security or time on the system via privileged
group passwords. If users do not have the minimum security level to
temporarily change their password, ALL password changes that they make will
be permanent -- even if the password they select is in the temporary
password file named in parameter 112 of CONFIG!
Parameter 136 allows the SYSOP to specify a security level that has
the privilege of overwriting files (i.e. files that already exist)
when uploading.
When the SYSOP "purges" the USERS file, all users who have not signed on
within the number of months specified in parameter 16 are deleted from the
Page 57 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
file with the exception of those who have been "locked out" and those whose
security level is equal to or greater than that specified in parameter 137.
Parameters 138 through 140 are not implemented in CPC15-1B.
12.8 Parameters for Multiple RBBS-PC's
--------------------------------------
RBBS-PC allows multiple RBBS-PC's to run in the same environment/network
and share many of the same files. If you ever plan to do this or if you
are going to do this, set this number to the MAXIMUM number you ever
envision running. Up to 36 RBBS-PC's can share the same files. Different
environments have different maximum number of nodes that they can
effectively support. Parameter 141 allows you to specify the maximum
number of RBBS-PC's that the MESSAGES file should be initialized for.
Parameter 142 allows the SYSOP to designate the type of environment that
multiple copies of RBBS-PC will be sharing files in. This is necessary so
that RBBS can use the mechanism that is appropriate to the specific
environment when sharing files. RBBS-PC currently can handle the following
environments for multiple RBBS-PC's:
1. MultiLink (The Software Link, Inc.)
2. OmniNet (Corvus)
3. PC-Net (Orchid)
4. DESQview (Quarterdeck Office Systems)
5. 10 Net (Fox Research)
NOTE: Many manufacturers utilize Orchid's network conventions. As an
example, AST and Alloy are both vendor's whose "network" is .EXE file-
compatible with Orchid's (i.e. "An Orchid by any other name is still an
compatible their network is with those supported by RBBS-PC.
Some local area network environments are not designed to have applications
constantly branch back to the beginning and re-open already open files. If
you are in this environment or simply want to run external programs after a
user logs off or RBBS-PC recycles, parameter 143 allows you to elect to do
this. If you specify "internal", RBBS-PC will function as it currently
does and branch back to its beginning. If you specify "system", RBBS-PC
will exit to DOS and (if you are running RBBS-PC out of a .BAT file) you
can then automatically invoke any other "housekeeping" programs you want
before re-invoking RBBS-PC. It should be noted that this will add a
considerably delay to RBBS-PC's recycling time as RBBS-PC will have to
reloaded back into memory every time it recycles.
Like the MESSAGES file, the USERS file must also be static in length for
RBBS-PC. Parameter 144 allows the SYSOP to set the size of the USERS file.
RBBS-PC automatically keeps track of the records available for use in this
file and does the necessary "housekeeping." To do this RBBS-PC requires
the USERS file size (i.e. the number of records in it) to be a power of 2.
When the USERS file get full (i.e. all its records are used up) and the
SYSOP neither "packs" it nor increases the size of the file, no new users
will be able to be added to the users until one of these two events occurs.
Parameter 251 lets new users get on even if the users file is full.
RBBS-PC requires that the "Messages" file be static in length. It
automatically keeps track of the next record available and does the
necessary housekeeping to maintain the integrity of the file. Parameter 145
allows the SYSOP to set the size of this file. CONFIG.BAS will
automatically determine what size the current file is and will reformat a
pre-CPC12-3A MESSAGES file if it finds one. If you do not increase the
size of your existing MESSAGES file, no one will be able to leave any new
Page 58 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
messages. Similarly, when the MESSAGES file get full (i.e. all its records
are used up) and the SYSOP neither "packs" it nor increases the size of the
file, no one will be able to leave a message until one of these two events
occurs.
The minimum size of the MESSAGES file is equal to 1 (The "checkpoint"
record) plus the maximum number of concurrent RBBS-PC's ("node" records)
plus the maximum number of messages allowed multiplied by 5 (each messages
is assumed to average five 128-byte records)
Therefore, if option 141 of CONFIG where 12 and option 145 of CONFIG where
50, the minimum number of records that could be specified for option 125
would be
1 (The "checkpoint record)
+ 12 (The number of "node" records)
+250 (50 messages x 5 128-byte records each)
----
263 records for the MESSAGES file
Parameter # 146 lets you set the maximum number of messages that the SYSOP
will allow on the system at any one time. The number will have to be
based on the size of the average message on your bulletin board. Most
messages require about 600 bytes on the average. The absolute upper
limit on the number of messages is 999. If you specify 250 messages,
you can expect that the MESSAGES file will be preformatted to more than
160K in size.
Parameter # 147 allows "conference" files to be maintained. A "conference"
consists of a message file and, if a "private" conference, a corresponding
users file. The name of the conference can be anything that the SYSOP
selects but can not be longer than 7 characters. The message file's name
for a conference consists of the conference name plus the characters
"M.DEF". The user file's name associated with "private" conferences
consists of the conference name plus the characters "U.DEF". Parameter #
147 allows the SYSOP to create, expand, or contract either or both of the
files associated with a "conference." This occurs ONLY when the SYSOP
"ENDs" the CONFIG session by pressing the key marked END. Parameter # 147
allows the SYSOP to perform all the functions on page 8 of CONFIG on the
conference that was named/selected with Parameter # 147. For a further
discussion of "conferences" see chapter 20.
12.9 RBBS-PC SYSOP Utilities
----------------------------
The message file contains all messages for the RBBS-PC system. As
messages are killed they are only flagged as inactive. Parameter 161
should be used periodically to recover the space occupied by the killed
messages. After completion, only the text of active messages will be
present and the old file will remain on the system with the name of
MESSAGES.OLD. Also, you will need enough free disk space for the MESSAGES
and MESSAGES.BAK files when packing the MESSAGES file or the packing cannot
be performed. If enough space is not found the packing will terminate
abnormally and the MESSAGES file will be recovered.
Parameter 162 removes deleted users and users who have not been on the
system within the number of months specified using parameter 16 in CONFIG.
You should have enough free disk space for USERS and USERS.BAK or the
rebuilding will terminate abnormally (the USERS file will be restored).
It is important to note that beginning with CPC12-5A, the USERS file is no
longer a random file that is accessed sequentially but now is a random file
that is accessed directly. When a user logs on RBBS-PC "hashes" the users
Page 59 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
name to find the users record directly in the USERS file. That is why the
USERS file's size is a power of 2 (i.e. 256, 1024, etc.). This allows
users to log on much more quickly to RBBS-PC's that have a very large
number of users.
Parameter 163 will display the message headers of all messages, active
and killed, that are present in the message file. This is left over from
one of the many "debugging" stages of RBBS-PC prior to CPC09. Following
the policy of making all changes "additive", this function has been
retained. It may help some SYSOP's recover from disk hardware failures.
Parameter 164 permits messages to be renumbered sequentially starting
from a specified message using whatever starting number you wish.
Please note that there is not much error checking to be sure that the new
numbers do not duplicate those of lower numbered active messages. When
complete, the next message to be created will be the next higher number
from the resequence. Unpredictable results will occur if a SYSOP creates
messages with duplicate numbers!
Parameter 165 goes through the MESSAGES file and reconstructs the chains
that link the messages together. MESSAGES files that have "blank" messages
or abbreviated messages (i.e. some lines of text are missing) can be
repaired with this facility.
Parameter 166 allows the SYSOP to require all users (old and new) to answer
the required questionnaire whose name was specified in parameter 28.
Parameter 167 allows the SYSOP to determine whether the format of the RBBS-
PC directory of files being used by the RBBS-PC File Management System
(FMS) to conform to the exact fixed format required by the FMS (in case the
text editor used by the SYSOP to edit the file inserted tabs or shorten
lines that had trailing blanks at the end of them).
12.10 Use of DOS Subdirectories
-------------------------------
Parameter 181 specifies the letter of the single drive available
that this copy of RBBS-PC can write uploaded files to. When a file is
uploaded, the file specified by CONFIG parameter 182 will be automatically
appended with the file name, file size, date of upload, and short
description as specified by the user.
Parameter # 182 of the CONFIG program asks for the name of the text file
to be used as an RBBS-PC "directory" of files into which the file name,
file size, and file description of uploaded files can be recorded. The
default name is 99.DIR and it must be on the drive/path specified in
parameter # 183.
Parameter 183 specifies the drive/path were the upload directory is to be
found.
Parameter 184 specifies the letters of the drives from which files can be
downloaded. The order in which they are specified is the order in which
the drives will be searched. If the order is BAC, then drive B will be
searched first for the file, then drive A, and finally drive C. While
there can be duplicate files on each of the drives, the first file found
will be the one downloaded to the user.
Parameter 185 allows the SYSOP to indicate that DOS subdirectories are to
be used by allowing the number of DOS subdirectories to be used for
downloading to be specified (0 to 9999). This number is equal to the
number of DOS subdirectories to be used for uploading (0 or 1) plus the
Page 60 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
number of DOS subdirectories to be used for downloading.
Parameter 186 allows the SYSOP to indicate the DOS subdirectory to which
uploads are to be written. RBBS-PC will prepend the upload disk drive to
it (see parameter 181) and append the upload file name after it when
uploads are written to disk.
Parameter 187 allows the SYSOP to indicate that DOS subdirectories are to
be used when searching for files on downloading. A valid download drive
followed by a colon, a reverse backslash, and the subdirectory name that is
to be searched must be entered. If the root directory is also to be
searched, just enter a valid download drive followed by a colon. Each
download disk drive is searched for only those subdirectories that were
specified as existing on that specific drive. If two download DOS
subdirectories are specified (A:\TEST1 and B:\TEST2) and two download disk
drives for parameter 184 (A and B), the search for a download file will be
in the following order:
A:\TEST1\filename
B:\TEST2\filename
It is possible to have the same subdirectory name on different download
drives. Each would have to be individually specified (A:\GAMES and
B:\GAMES If they where, the search for a download file would be as
follows:
A:\GAMES\filename
B:\GAMES\filename
Parameter 188 is only functional if parameter 185 is greater than 0. This
parameter allows the SYSOP to list, change, add, or delete the DOS
subdirectories to be used for either uploading (parameter 182) or
downloading (parameter 187). CONFIG does NOT actually create or delete
such DOS subdirectories -- that's up to the SYSOP to do using the standard
DOS commands. Parameter 188 simply allows the SYSOP which DOS
subdirectories will (or may) exist when RBBS-PC is running.
Parameter 189 allows the SYSOP to specify the extension that RBBS-PC's
"directories" of files are to have. See chapter 13 for a description of
RBBS-PC's "directories" of files.-- they have no relation to DOS 2.x and
above subdirectories! Most SYSOP's categorize the files that are available
for downloading into general groups (games, utilities, etc.). The default
is "DIR". This extension is also used as the prefix of the directory of
directories that is presented to callers when they ask for a list of the
directories available (DIR.DIR).
Option 190 allows the SYSOP to exclude the primary directory (DIR.DIR) from
the search done by the New command. If you have multiple directories
(i.e. RBBS.DIR through BASIC.DIR), any dates in the primary directory
would not be of files. The "New" command (as in "What new files have
been put on the download directories since I was last on?") search
each line of each file whose extension is DIR for a date field. Since
the first level directory is normally a listing of the other directories
and their general subject areas, it is advisable to omit the first level
directory from the "New" command.
Descriptions of files uploaded are always appended to the upload directory.
Parameter 191 allows the description to be appended to another file. This
could be, for example, a list of all files on the system, or the basis for
a bulletin reviewing the uploads.
Page 61 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Option 192 is how the SYSOP declares that there is a shared FMS directory.
Leave it blank if there is none. Chapter 14 discusses in detail the
advantages of using this directory, which has a different structure from
other directory files. This file must be in the drive/path for
directories.
Users who upload can classify uploads into a category if their security is
at least as high as the level specified in parameter 193. This option can
save the SYSOP considerable time. If the uploader cannot classify the
upload, it goes only to the upload directory and uses the default category
code if written to the FMS directory.
If you do NOT want users to categorize the files that they upload,
independent of whether or not you are using FMS, simply set the CONFIG
option 193 to a security level higher than any user can obtain. If the
uploader cannot classify the upload, it goes only to the upload directory
and uses the default category code if written to the FMS directory.
If you DO want users to categorize the files that they upload you must
follow these four steps:
1. Set CONFIG option 193 to the security level of the U>pload
command.
2. Create a help file to show users when they are asked to
categorize an uploaded file that might look something like:
Category Category Description
Code Name
1 Utilities General Utilities
2 Games Games
3 RBBS-PC RBBS-PC files
4 RBBS-UTIL Utilities for RBBS-PC
3. Set CONFIG option 67 to the name of the file that you created
for step 2
4. If, and ONLY if, you are using the FMS, create a second file
in the format described in section 14.0 for option 196 and set
option 196 to the name of the file created in this format.
Set parameter 194 to "YES" if there are no directories other than the FMS
directory. That increases the speed of RBBS-PC because it does not look
for additional directories. If you do not have a shared directory or have
a hybrid system with some physically distinct directory files, set this
parameter to "NO".
Parameter 195 is the default category code for uploads. This parameter is
how uploads get classified in the FMS directory if the uploader cannot
provide a classification. To make all new uploads private and viewable
only by the SYSOP (until the SYSOP reviews the files and changes the
classification), set the default code to "***". The default is "UC" for
UnClassified.
Parameter 196 is the name of the text file which tells RBBS-PC what
categories are included in the shared FMS directory. The format of the
file is
"<category name>","<category codes>","<category description>"
Page 62 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
For example
"BASIC","BPG","BASIC Programming"
means that callers know the category as BASIC, its code in the FMS
directory is "BPG", and the category is to be described to callers as
"BASIC Programming". See chapter 14 for details on how to set up this
critical system file.
Parameter 197 is only meaningful if the RBBS-PC File Management System
(FMS) has been enabled via parameter 192. RBBS-PC will scan this file for
the latest uploads. When a caller logs on, RBBS-PC will determine how many
files are new since the caller last logged on, up to a maximum of 23. By
setting option 197, the caller is offered the chance to immediately review
these new files for downloading, if the caller has sufficient security to
download. This happens before the bulletins or messages are reviewed.
RBBS-PC's that emphasize software exchange may want to enable this option,
others may not want to give the caller a chance to download the new files
until after bulletins and messages have been reviewed.
Parameter 198 sets the maximum length of the description that can be given
to an uploaded file. RBBS-PC can be configured so that those who upload
files can provide a description of the file they upload. This description
informs others what the file does and helps them decide whether they want
to download the files. The maximum length of the description can be set
to any value between 40 and 46. WARNING: this option will not change the
length of existing directories.
Parameter 199 controls who can view new uploads based on security level.
This works differently, depending on whether type upload directory is the
FMS directory and is stored other than in the searchable directories.
1.) If the upload directory is not in the drive/path of the
searchable directories, it will be viewable if and only
if the callers has a security at least as high as the
minimum to view new uploads.
2.) If the upload directory is not the FMS directory but is
stored in the same drive/path as it, it will be
viewable.
3.) If the upload directory is the FMS directory, the
minimum to view applies only to uploads with the default
category code.
Parameter 200 specifies where all directory files must be put, except
possibly for the upload directory. Only in this DOS directory does RBBS-PC
look for RBBS-PC directory files, with the sole exception of the upload
directory when the caller's security level permits the upload directory to
be viewed (see parameter 199).
12.11 Communications Parameters
-------------------------------
Parameter # 201 requests the user to specify the communication port that
RBBS-PC will use. Because the BASIC language can only support COM1 and
COM2, RBBS-PC can only support COM1 and COM2 for remote access (i.e. via a
communications port and a modem). However, RBBS-PC does accept COM0 as a
parameter. This allows RBBS-PC to run on a PC without using a
communications port or modem and still appear to the PC user as if they
were accessing RBBS-PC remotely. This "workstation" feature can allow
RBBS-PC to be used in a local area network environment where each of up to
36 PC's can access the central RBBS-PC system (on the LAN server) and use
Page 63 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
RBBS-PC for electronic mail within the LAN. Alternatively this
"workstation" mode can be used to teach users how to access RBBS-PC in a
classroom environment without requiring telephone access.
Parameter 202 allows the SYSOP to specify the number of seconds that RBBS-
PC should wait after initializing the modem with a "reset" command. Most
modems require only 2 seconds, however some may require much (MUCH) longer.
If the 2 second default is not sufficient consult with your modem vendor
and try different settings.
Parameter 203 allows the SYSOP to specify how long to wait prior to issuing
a modem command. This is most useful when you have configured RBBS-PC to
only issue commands between rings and want the modem to "settle down" after
a ring has ended. The default setting is one second. If you find that
2400 baud calls are improperly connected at 1200 baud, increase the wait.
Some modems take longer to connect at 2400 than at lower speeds.
Parameter 204 specifies the number of rings to wait before answering the
phone. Specifying zero rings means that RBBS-PC will answer the phone as
soon as it rings.
If you specify the number ONE, RBBS-PC will wait for the phone to ring and
then instruct the modem to answer the phone. This is the default setting
and requires that the modem be capable of indicating that the phone is
ringing (i.e. provide the "ring indicator" signal) and that the modem cable
have PIN 22 connected at both ends.
Specifying a number equal to ZERO (and not specifying "ring-back") means
that RBBS-PC will initialize the modem to automatically answer the phone
(independent of RBBS-PC) and RBBS-PC will simply wait for carrier detect to
occur. This is NOT RECOMMENDED. However, if your non-Hayes modem simply
is incapable of indicating that the phone is ringing or your modem cable
does not have PIN 22 connected, this is the option you will have to
elect. If this option is selected, you are not allow to drop into DOS
remotely (either through a "door" or via the SYSOP's function 7). If
we allowed this and your were inadvertently disconnected the next person to
dial would be connected to wherever you where because the modem (not RBBS-
PC) is answering the phone.
If you specify a number greater than 2 means that RBBS-PC will either:
1. wait until the specified number of rings to answer the phone, or
2. answer the next call after the current one after the specified
number of rings specified provided that the next call comes
within 45 seconds after the first call stops ringing the phone.
This mode is called RING-BACK.
Specifying a number greater than one is useful only when a single phone
line can receive both voice (i.e. callers who wish to speak with the SYSOP)
and data calls (i.e. for RBBS-PC) on an unscheduled basis. In this type of
environment (i.e. a random mix of voice and RBBS-PC calls), there are two
ways a SYSOP can set up RBBS-PC so that RBBS-PC can automatically determine
if the call is for the SYSOP or for RBBS-PC.
First, the SYSOP can establish the rule with the callers that if unable to
personally answer the phone, then RBBS-PC will answer the phone after it
rings the number of times specified in option 9. Callers can let the phone
ring and (if it is not answered by a person within some agreed upon number
rings) know that it will be answered by RBBS-PC. This is useful to those
who may have either hearing or speech problems and are unable to use the
Page 64 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
telephone conveniently for voice communications.
A second approach is the more classic, "ring-back" approach. RBBS-PC can
be told to NEVER answer the first call (it can ring forever!). However,
should the caller WAIT A MINIMUM OF 12 SECONDS (a Hayes restriction) and
call back no later than 45 seconds after the last ring of the first call,
RBBS-PC will answer the call after the number of rings indicated in
parameter 9 provided that the number of rings is set to between one and
five. If callers want to make a voice contact, they can simply call and let
the phone ring until it is answered. If you have a dedicated line for your
RBBS-PC (either full-time or on a scheduled basis), parameter 9 should be
set to ZERO.
Option 205 provides the SYSOP with the capability of selecting ANY modem
commands appropriate for the modem being used -- not just the default Hayes
commands RBBS-PC would normally use. Before the default RBBS-PC standard
Hayes commands are changed, you should thoroughly understand the modem that
your are using and the modem commands, as used by RBBS-PC, that are
described in section 13.
Option 206 allows MNP to be optional within RBBS-PC. REGRETTABLY, this
option can not be selected with version CPC15-1B. This is because it was
not possible to resolve the linkage incompatibilities between the new
compilers and the MNP library and RBBS interface prior to the release of
CPC13-1A. Every effort is being made to correct this particular problem.
Some SYSOP's may not wish to provide their users with the choice of MNP
protocol (especially if they are employed by a company that has a competing
protocol). RBBS-PC's features and growth are designed to be "additive."
This parameter allows each SYSOP to decide if MNP protocol is to be
available for file transfers. Microcom's error-free protocol, MNP, is
available for file transfer beginning with version CPC12-4A of RBBS-PC.
Option 207 allows the SYSOP to tell RBBS-PC either to wait to issue
commands in-between rings or to issue modem commands without waiting. Some
modems cannot both handle the telephone ringing and accept modem commands
simultaneously. Other modems, like the Hayes, can handle such simultaneous
demands. For these later (i.e. Hayes, Prometheus, Multi-Tech, etc.) this
option should be set to "NO."
Some 2400 baud modems (like the Hayes) MUST be opened initially at 2400
baud because when they automatically answer the phone they can only "bump
down" when automatically detecting baud rate (i.e. from 2400 down to 1200
down to 300). Parameter 208 allows the SYSOP to select the baud rate at
which RBBS-PC is to open the modem at initially.
The SYSOP can select the number of seconds RBBS-PC will allow a user to be
"idle" (i.e. not sending or receiving data) via parameter 209.
Parameter 210 allows the SYSOP to indicate if a "dumb" modem is being used
(i.e. one that will answer the phone and automatically detect the caller's
baud rate if it is the the modem was opened for). Selecting this means
that no modem commands are written to the modem.
If the SYSOP has a non-Hayes modem (i.e. one that will not recognize Hayes
commands and will not return Hayes responses) that will only "auto-answer"
the phone, parameter 210 allows the SYSOP to so indicate to RBBS-PC by
selecting "dumb" modem. Typically this would be some communications
network (i.e. TymnNet) or local area network that supplied a simple RS-232
interface. Selecting this option causes RBBS-PC to
Page 65 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
1. Issue no Hayes commands,
2. Depend on no Hayes-like responses,
3. Control the interface with the Data Terminal Ready (DTR),
4. Assume somebody has called whenever Carrier Detect (CD) is
detected, and
5. Assume that whomever calls is at the baud rate selected in
CONFIG parameter 38.
The Hayes 2400 baud modem has no hardware switches. It's remembered,
permanent settings can be set only through software. Option 211 will
properly initialize a Hayes 2400 modem for use with RBBS.
Parameter 212 is the time to wait after dropping DTR. This is used in
RBBS-PC for dropping the connection after a caller logs off normally. Too
short a delay will cause the modem not to re-initialize properly. The
default time is 3 seconds.
In order to provide the maximum flexibility (and get RBBS-PC out of the
protocol writing business), RBBS-PC supports external protocol drivers via
a standard interface. The external protocol driver for YMODEM, YMODEMG,
IMODEM is the file YMODEM.EXE. The external protocol driver for WINDOWED
XMODEM is WXMODEM.EXE. The external protocol driver for KERMIT is
PCKERMIT.EXE. These protocols work only if the external drivers are
available and in the drive/path specified by parameter 213. Also see
parameter 107.
RBBS-PC has internal code to support Xmodem, and Xmodem is also supported
by external protocol drivers. Parameter 214 lets the SYSOP specify which
services xmodem requests. The default is to use the internal xmodem.
RBBS-PC can check right after a caller logs on whether the caller's
communication program supports autodownload. Turning on parameter 215
means that RBBS will always do this check. However, this check is
incompatible with come terminals and communications packages, causing them
to stop displaying on the local screen. If the check is passed, RBBS-PC
announces that autodownload is available and asks callers if they want to
use it. This check is unnecessary for autodownload to work. The caller
can control whether autodownload is used with the T)oggle command in
utilities. It is recommended that this option NOT be enabled.
Parameter 216 allows the SYSOP to restrict searches (either for specific
strings or via the "N>ew" command by date) to a single RBBS-PC directory of
files. If not restricted all RBBS-PC file directories will be searched.
Parameter 217 is not implemented in CPC15-1B.
Parameter 218 allows modems that require it, to have "flow control" between
the modem and the PC running RBBS-PC using the "request-to-send" signal,
RTS. Some modems with built-in error checking protocols require this to be
set on or, should an error-free link become disconnected, the modem will
never respond to the PC after RBBS-PC recycles.
12.12 Parameters for RBBS-PC NET-MAIL
-------------------------------------
Parameter 221 allows the SYSOP to specify the time of day in HHMM format
after which RBBS-PC is to SHELL to a batch file for system maintenance.
The file that RBBS-PC will SHELL to is named RBBSTIME.BAT. It is the
SYSOP's responsibility to create this .BAT file.
Parameter 222 allows RBBS-PC to handle "store-and-forward" mail of messages
and files. Currently the only such "net mail" that is supported is SeaDog.
Page 66 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
By enabling this option, the SYSOP assumes the responsibility of
configuring the "net mail" application to
1. answer the phone and determine if the caller is sending "net mail".
2. if the caller is not sending "net mail", the net mail application
must invoke RBBS-PC with the following command line:
RBBS-PC.EXE nodeid filename /time /baud
where:
"nodeid" is the node ID in the range 1-9, 0, or A-Z.
"filename" is the fully qualified file name to use as the
RBBS-PC ".DEF" file.
"/time" is the time of day for RBBS-PC to return to the "net
mail" application that called RBBS-PC.
"/baud" if the baud rate that the caller dialed in at.
12.13 New users parameters
--------------------------
Parameter 241 allows the SYSOP to elect to not ask new users for their
default parameters. RBBS-PC typically asks new users whether their
terminal supports upper case, they want line feeds, what they want for a
graphics preference, what they want for a default protocol, and whether
they want nulls. Sometimes these questions confuse new users, who lack the
knowledge to answer them. To bypass the questions and force new users to
get the defaults (upper and lower case, line feeds, no graphics, no
protocol, no nulls), specify "NO" this parameter.
Parameters 242 through 249 are not implemented in CPC15-1B.
Parameter 250 allows new users to be always treated as new users every time
that they log on. RBBS-PC normally logs new users in the users file and
recognizes them as having previously logged on should they call back. If
the SYSOP wants new users not to be logged to the users file, so that a new
use continues to be treated as a new user every time he calls, specify "NO"
to option 250.
Parameter 251 allows the SYSOP to permit RBBS-PC to continue operating
should the users file run out of room for new users. The user file in
RBBS-PC can run out of room for new users. Until the SYSOP rebuilds the
users file or expands it, there are then two options:
1. do not let the new user on, or
2. let the new user on but do not try to add him to the user file.
Saying "YES" to option 251 enable new users to be allowed on on when there
is no room rather than being told there is no room and then disconnected.
13.0 HAYES COMMANDS AND MODEM SWITCH SETTING CONSIDERATIONS
----------------------------------------------------------
13.1 Hayes Modem Switch Setting Considerations
---------------------------------------------
RBBS-PC is tested with a HAYES Smartmodem 1200 (i.e. external). The switch
settings on the modem must be as follows:
switch -- 12345678
setting - UUDDDUUD
Recognizing that there are many "Hayes-compatible" (and not so compatible)
Page 67 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
modems in use, this section is intended to assist those adventurous souls
who use such modems and need some guidance on what the otherwise mystical
Hayes switch settings mean. The following table may be of some help:
Setting Function to RBBS-PC
Hayes -----------------
Switch Factory RBBS-PC (NOTE "Up" means enabled or "on")
------- -------
1 Down Up Allows RBBS-PC to control the modem using the
RS-232 DTR lead (pin 20).
2 Up Up Not meaningful to RBBS-PC (could be down) and
is used to indicate if result codes are to be
English words or single digits. RBBS-PC sets
this with the Hayes "V" command.
3 Down Down Not meaningful to RBBS-PC (could be down) and
is used to indicate if result codes are to be
sent to RBBS-PC. RBBS-PC sets this with the
Hayes "Q" command.
4 Up Down The modem does not echo characters unless
half-duplex is selected and the modem is on-
line.
5 Down Down Modem is NOT to answer incoming calls. RBBS-
PC monitors the ring indicator (pin 22) to
determine if the phone is ringing. If it is,
RBBS-PC will issue the necessary commands to
the modem.
6 Down Up RBBS-PC checks for the carrier signal using
the RS-232 Carrier Detect lead (pin 8). If
carrier is lost, RBBS-PC hangs up the phone
and re-cycles to await the next call.
7 Up Up Not really required by RBBS-PC. However in
the "down" position, the telephone extension
light will illuminate on a multi-line
installation when the modem answers a call.
8 Down Down Enables the Smartmodem 1200 to recognize the
Hayes commands issued by RBBS-PC.
The most common problem, "RBBS-PC continually recycles," occurs when switch
six is left in the factory position.
These switch settings do not have to be changed for most other
communications software packages. (You can leave the switches set as shown
above if you use PC-TALK for your smart terminal communications. However,
you will be advised to give the modem an "ATZ" command before using PC-TALK
in order to reset the registers correctly.) RBBS-PC should be used only
with versions 123 and above of the Hayes Smartmodem 1200 and with version
247 and above of the Hayes Smartmodem 2400. Earlier versions do not
answer the telephone properly. The ATI command will cause the
Smartmodem to tell you its version.
Hayes is now shipping an external modem called the Hayes 1200FE that has 10
switch settings. To run RBBS-PC switches 9 and 10 of the 1200FE must be
left up (the factory setting). Hayes is also now shipping an internal
modem called the Hayes 1200BFE that has 6 switch settings. To run RBBS-PC
Page 68 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
switches 4, 5, and 6 must be left up (the factory setting). If you can't
figure out what the switching settings on these new modems should be based
on the switch settings given for the "original" Hayes 1200, CALL HAYES
TECHNICAL SUPPORT! Since I don't have the newer modems, I won't be of much
help if you call me.
13.2 Hayes Command's Considerations
----------------------------------
The Hayes commands used to control the modem are all external to RBBS-PC
beginning with version CPC13-1A. These command strings are in the RBBS-
PC.DEF file which may be modified by any file editor that can handle ASCII
files (i.e. DOS' EDLIN utility).
The RBBS-PC.DEF file contains five Hayes command strings -- one on the
second line of the .DEF file and four on the last line of the .DEF file.
Using RBBS-PC's CONFIG utility's defaults, the command strings are as
follows.
13.2.1 Command to Initialize the Modem
-------------------------------------
The second command string in the .DEF file is the first Hayes command
string on the last line of the .DEF file and is:
Command Meaning
AT Signifies the following characters are Hayes commands.
Z Causes a software reset and applies all default values.
This command is ALWAYS issued and is the first command issued to the
modem every time RBBS-PC gets ready for calls.
13.2.2 Command to Set Up the Modem
---------------------------------
The first command string, on the second line of the .DEF file, is
ALWAYS issued and is the second command issued to the modem every time
RBBS-PC gets ready for calls.
If the appropriate CONFIG has been set to tell RBBS-PC to answer on a
ring greater than zero, the command string is:
Command Meaning
AT Signifies the following characters are Hayes commands.
M0 Turn the monitor speaker on the modem off permanently.
Q1 Do not return result codes to the PC.
S2=255 Disable escape code detection.
S10=30 Do not drop disconnect user unless carrier drops for more
than seconds (you may want to set this to 15)
E0 Do not echo characters back to the PC when receiving Hayes
commands.
S0=x "x" is set as follows:
S0=254 to answer on a specific number of rings > 0
S0=255 to enable "ring-back"
If RBBS-PC has been set to answer on zero rings, Q and S0 are different
and V1 and X1 are added to this command string and it is:
Command Meaning
AT Signifies the following characters are Hayes commands.
M0 Turn the monitor speaker on the modem off permanently.
Q0 Send result codes to the PC.
S2=255 Disable escape code detection.
S10=30 Do not drop disconnect user unless carrier drops for more
Page 69 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
than seconds. Some of the Hayes ROM's have a bug in them
that causes the modem to only answer at 1200 baud if anything
other than the factory default is used for S10. If you
have such a problem, simply set S10 equal to 7.
E0 Do not echo characters back to the PC when receiving Hayes
commands.
S0=1 Answer the phone on the first ring.
V1 "Extended" result codes are to be transmitted as words.
X1 Tells the modem to send "extended" result codes to the PC.
13.2.3 Command to Determine What Ring to Answer On
-------------------------------------------------
The third command string in the .DEF file is the second Hayes
command string on the last line of the .DEF file and is:
Command Meaning
AT Signifies the following characters are Hayes commands.
S1? Requests the modem to return the number of times that the phone
has rung.
This command string is only issued when CONFIG has been used to tell
RBBS-PC to answer on a specific number of rings other than 0. Some
modems have trouble with the S1? command because they do not recognize
the ? part of the command. Again, verify what your modem is capable of
handling.
13.2.4 Command to Answer the Phone
---------------------------------
The fourth command string in the .DEF file is the third Hayes command
string on the last line of the .DEF file and is:
Command Meaning
AT Signifies the following characters are Hayes commands.
Q0 Tells the modem to send result codes to the PC.
X1 Tells the modem to send "extended" result codes to the PC.
V1 "Extended" result codes are to be transmitted as words.
A Tells the modem to answer the phone immediately.
This is only issued if the number of rings to answer on are greater
than 0.
RBBS-PC utilizes the extended verbal results code (CONNECT, CONNECT 300,
CONNECT 1200, and CONNECT 2400) to determine the callers baud rate.
Some Hayes 300 modems don't function with RBBS-PC because they do not
recognize the "X1" command. If you have a modem like this, simply remove
the X1 command from the command strings in the .DEF file.
13.2.5 Command to Take the Phone Off the Hook
--------------------------------------------
The fifth command string in the .DEF file is the fourth Hayes command
string on the last line of the .DEF file and is:
Command Meaning
AT Signifies the following characters are Hayes commands.
Q1 Do not return result codes to the PC.
E1 Echo characters back to the PC when handling Hayes commands.
H1 Take the modem off the hook (i.e. busy out the line).
M0 Turn the monitor speaker on the modem off permanently.
This command is ALWAYS issued whenever the SYSOP is doing local maintenance
Page 70 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
(i.e. hits ESC) or a user hangs up.
13.2.6 Commands to Initialize the Modem Firmware
------------------------------------------------
The commands to initialize the modem firmware are not contained in the
.DEF file, but rather are dynamically set (or reset) each time that
CONFIG is invoked. There are essentially three commands:
1. A command to clear the modem's firmware.
2. A command to initialize the modem's firmware.
3. The command to write the initialized firmware to the modem's
non-volatile memory is "&W".
The default command to clear the modem's firmware is:
Command Meaning
AT Signifies the following characters are Hayes commands.
&F Load the modem active configuration area with the factory
profile contained in the Hayes ROM.
The default command to initialize the modem's firmware is:
Command Meaning
AT Signifies the following characters are Hayes commands.
&C1 Data carrier detect tracks the state of the data carrier from
the remote modem.
&D3 Modem is to assume the initialization state if it detects ON-
to-OFF transition of DTR. The newer versions of the Hayes
2400 baud modem (ROM 249 or greater) and some clones do not
allow RBBS-PC to recycle properly when the &D switch is set
to 3. If you are having a problem, set the it to &D2.
B1 Set the modem to Bell 212A mode when the 1200 BPS data transfer
rate is selected.
E0 Do not echo characters of the modem commands issued by RBBS-PC
back to the PC running RBBS-PC.
V1 Select long-form result codes.
M0 Disable the modem's speaker when carrier is detected.
S0=0 Disable "auto-answer" mode.
&T5 Disallow a request from the remote modem for a remote digital
loopback test.
These three commands are ALWAYS issued in CONFIG when option 211 is
selected. These commands can be temporarily altered by changing them via
option 205 of CONFIG prior to issuing option 211.
14.0 RBBS-PC's FILE MANAGEMENT SYSTEM
--------------------------------------
The File Management System (FMS) is a facility built into RBBS-PC for
managing the files subsystem. SYSOPs must make files available for
downloading, and callers must be able to find out what files can be
downloaded and upload new files for sharing with others. Callers can
search for files available for downloading by a substring in the file name
or description (command S), on or after a specified date (command N), or
by a subject matter (commands L,N,S). The files system is organized into
four logical areas:
1. Upload drive/subdirectory (Uploaded files written to here)
2. Upload directory (Descriptions of uploaded files written to here)
3. Drive/subdirectory of searchable directories (subject directories,
shared FMS directory resides here)
Page 71 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
4. Download drives/subdirectories (downloadable files stored here)
An RBBS-PC "directory" of files is NOT A DOS DIRECTORY. It is just a text
file containing information about the files uploaded or available for
downloading.
A SYSOP must specify via CONFIG where the files are stored that are
available for downloading. This can be specified either by a list of
download drives (e.g. "CDE") or a list of subdirectories (e.g. C:\DOWN1\,
C:\DOWN2\).
ONLY THE FILES STORED IN THE DOWNLOAD DRIVES/SUBDIRECTORIES ARE
DOWNLOADABLE (with one exception: SYSOP's can download from the upload
drive).
CONFIG is also used to specify where uploaded files are written to, either
as a drive letter (e.g. "D") or as a subdirectory (e.g. D:\UPLDS\).
The SYSOP has the option to make the upload drive/subdirectory also a
download drive/subdirectory. Only by making the upload drive/subdirectory
also be a download can files uploaded be immediately available for
downloading by others. Most prudent SYSOPs do not make files that have
been uploaded available until after they have had a chance to review them.
A description of an uploaded file is automatically appended by RBBS-PC to a
special RBBS-PC directory of files called the upload directory. RBBS-PC
appends entries describing the new uploads to the end of the upload
directory in the format
<file name> <file date> <file size> <file description> <category code>
<file name> is the name of the uploaded file, and has the format X.Y, where
X is the file name prefix and Y is the file name extension.
<file date> is the date the file was uploaded in the format MM-DD-YY. MM
is the number of month (1 digit months include a leading zero,
so that March is 03). DD is the number of the day (1 digit
days have a leading 0). YY is the last two digits of the year.
March 7, 1987 would be expressed as "03-07-87".
<file size> is the size of the file in bytes.
<file description> is a description of the file whose maximum length is
between 40-46 characters, depending of what CONFIG parameter
198 was specified as.
<category code> is an optional 3 character code for the category the file
belongs to. This code is included only if there is a shared
FMS directory and it is the same physical file as the upload
directory.
SYSOPS can make it easier for callers to find what files are available by
classifying the files into categories. RBBS-PC supports two fundamentally
different ways of categorizing files:
1. A single shared master directory file XXX.YYY
where YYY is the directory extension and XXX is the name of the FMS
directory. A file entry in the master FMS directory is classified as
being in a category by putting a three character category code at the
end of the entry. For example, "GAM" might be the code for all
Page 72 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
games.
2. Physically separate multiple directory files XXX.YYY
where YYY is the directory extension specified in CONFIG parameter
189 and XXX is the name of the directory. Callers know the
directories by name. RBBS-PC knows the directories by where they are
located and the fact that the file has the directory extension.
There can be as many directory files as desired. A file is
classified as in a category simply by physically listing it in the
directory. For example, the directory GAMES.DIR contains a list of
all games.
The physically distinct directories should be text files satisfying
the following constraints:
o The file directories must have an extension of up to three
characters. The default extension is ".DIR". The 8-character
file name and extension can be anything you want as long as it
is a valid DOS file name.
o Filename should start in column 1.
o Program size can be between columns 14 & 22.
o Date available for downloading must start in column 24 and
should use MM-DD-YY or MM/DD/YY format.
o Description should start in column 34.
Callers learn what files are available by listing RBBS-PC directories.
With the exception of the upload directory, all RBBS directories must be in
a single drive/path specified by parameter 200 of CONFIG. This is where
RBBS-PC searches when a caller asks to list files by date, substring, or
category. The upload directory will be viewable also if it is placed in
this drive/subdirectory. If placed elsewhere, whether the upload
directory is viewable will be determined by the security level of the
caller. The SYSOP specifies a minimum security to view the new uploads via
CONFIG parameter 199.
If the SYSOP has chosen to use the RBBS-PC File Management System (FMS),
the SYSOP must specify what categories are included in the master FMS
directory. This is done in a directory category file whose name is
specified in CONFIG parameter 196. The format of entries is as follows:
"<category name>","<category codes>","<category description>"
There are three entries to a line, each enclosed in quotes and separated by
a comma. The first entry is the name of the category. This is how the
categories should be listed in the menu for the L)ist command and what the
caller must specify when asking for lists by category. Most SYSOPs either
number the categories (1,2,3,etc.) or give them names that describe their
contents, are easy to remember, and short enough to type quickly (e.g.
GAMES, UTILS, BASIC).
The category codes are a list of all codes included in this category and
has the format "X1,X2,...,XN" where X1,X2,..,XN are the individual codes.
Each individual code must be separated from the others by a comma and there
must not be any spaces inside the category codes. A category can be a
composite consisting of several categories. For example, if "PRU" is
printer utilities, "SCU" is screen utilities, and "FU" is file utilities,
Page 73 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
then the codes for the category "UTILS", consisting of all utilities, would
be "PRU,SCU,FU".
The category description is what RBBS-PC will print to the caller at the
beginning of a search in a directory. For example, the command to search
directory GAMES for all entries with the string BAS will be prefaced by
Searching directory GAMES for BAS - Games and Graphics
if "Games and Graphics" is the description with directory GAMES.
14.1 Using a Single Master Directory
-------------------------------------
One possible extreme in setting up RBBS-PC is to have a single master
directory and no other. This implies that the FMS directory is the same as
the upload directory.
Files uploaded will have descriptions appended to the FMS directory which
will therefore ALWAYS BE CURRENT. This does not mean that the new uploads
will be listable. The caller has the option to specify that the upload is
private to the SYSOP, in which case a special category code will be written
(***) that requires SYSOP status to view. Also, if the category code is
the default category code specified in the configuration, only callers
whose security level is higher than the minimum to view new uploads can
view them.
A SYSOP can prevent callers from seeing new uploads by not allowing uploads
to classify the uploads and by setting the minimum security to view be high
or making the default category code be "***".
The advantages of a using the FMS master directory are:
o Callers will get the latest files listed first.
The files in the FMS directory must be listed from oldest to newest.
This file is read by RBBS-PC in reverse order from the bottom up so that
the latest files get listed first.
o Callers can download download as soon as they see what they want.
Listings from the FMS directory terminate with the option to simply list
the files wanted to download. The caller does not have to terminate the
listing first nor type "D" for download. Callers can grab the files as
soon as they see them on their screen.
o Listings resume where left off after downloading.
Callers need not terminate a list just to begin downloading. After
downloading in the midst of listing files, the listing will resume right
where it was before downloading. The caller does not have to write down
all the files they want, then get out of the listing and start
downloading.
o Date searches are very fast.
As soon as a file is hit that has a date earlier than desired, the date
search terminates rather than needlessly continue to examine yet older
files. Also, the date search algorithm for FMS directory entries is 25%
faster than the date search in other directories.
Page 74 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
o Classifying files is fast and easy.
Simply load up the directory into any favorite full screen editor,
overtype the correct category code, and that's it: one quick and simple
change does it. Remember too, that uploaders can be given the option to
classify uploads, in which case the SYSOPs work is limited to reviewing
the suggestion of the uploader and correcting mistakes.
o Complex classifications are easy to implement and change.
Classifying a category into its basic category immediately and without
additional work causes it to be included in all other composite
categories that include it. Hence it is simple and easy to build
complex, interrelated categories. The category scheme can be changed at
will simply by changing the directory category file. And if the basic
categories need to be changed, such as a rename or splitting a basic
category into two new ones, this is as easy as a global search and
replace in an editor. Because creating useful categories does not cause
SYSOPs a lot of work, they can afford to put up more complex
classifications that help callers find the files they really want.
14.2 Reasons It May Not be Possible to Use a Single FMS Directory
------------------------------------------------------------------
While the shared FMS directory has many significant advantages, it is
obviously absolutely unusable in networks (such as CORVUS' Omninet) that do
not allowed files that change in length to be shared. Additionally the
shared FMS directory has other limitations that may force SYSOPS to elect
not to use it at all or to use it with additional directories.
Physically separate directory files that correspond to a single directory
subject are read and displayed sequentially from the top to the bottom in
RBBS-PC. The only restriction placed on such a file is that the file
entries must have the month, day, and year somewhere in the first 31
columns in order for the N)ew command to work properly.
The shared FMS directory is much fussier and will not work properly unless
the following limitations are observed:
1. Files must be stored in date order from oldest to newest.
Common practices this precludes are to store the files in alphabetical
order by name, or to group the files by sub-categories. For example,
each communication program has all its files together.
2. The only text in the file must be a file directory entry.
Multiple line header text, or file descriptions can not be handled by
the File Management System. One line file entries are all that is
supported.
3. Only a single entry can be included for each file.
A common practice that will no longer work is to have a multi-line
description of a file by leaving the name/date/size blank and continuing
the description on the following line.
4 The file date must have a leading 0 for 1 digit parts and must have the
month, day, and year in only a specific column in order for the N)ew
command to work properly.
Page 75 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
A shared FMS directory is perfectly compatible with additional directories.
RBBS-PC simply looks first in its list of categories in FMS. If a request
for a directory is not found there, it will then look on the directory
drive/path for the directory, if directory searches are not limited to the
FMS via CONFIG parameter 192. For example, the SYSOP can include a
directory called NAME which is a master list of files sorted by file name,
as well as directories maintained in the FMS directory.
15.0 SETTING UP ".BAT" FILES FOR RBBS-PC
-----------------------------------------
Many SYSOPS have set up batch files to invoke RBBS-PC automatically and to
re-invoke RBBS-PC should there be a power outage. These files range from
the simple to the sublime in terms of complexity. In a multiple RBBS-PC
environment, these .BAT files CANNOT BE SHARED. If you are going to exit
RBBS-PC and transfer control to DOS remotely (either via the SYSOP's
function 7 or via "doors"), it is necessary that:
1. RBBS-PC be executed from a batch file.
2. The batch file which is executing RBBS-PC contain
an "IF" statement that checks for the existence of the
batch file which RBBS-PC dynamically builds when
either "doors" or SYSOP function 7 is invoked.
3. Within the "IF" statement, the logic exists such that the
batch file dynamically built by RBBS-PC for the "doors"
functions or SYSOP function 7 will be invoked if it exists.
As a very simple example, let us assume that:
1. the batch file that invokes RBBS-PC is named A:RBBS.BAT,
and that is what was entered for option 84 of CONFIG.BAS,
2. the name of the batch file that RBBS-PC will build
dynamically for either "doors" or SYSOP function 7 is
A:RCTTY.BAT, and that is what was entered for option 83 and
3. the compiled version of RBBS-PC is being executed and is
named RBBS-PC.EXE and is on the default disk drive.
4. you have elected to use the watchdog utility program.
5. COM1 was designated as the communication port to be used by
RBBS-PC.
6. the CALLERS file is on drive A.
Then A:RBBS.BAT (in a non-MultiLink environment) would contain the
following:
WATCHDG1 OFF
IF EXIST A:RBBSxF1.DEF DEL A:RBBSxF1.DEF
IF EXIST A:RCTTY.BAT DEL A:RCTTY.BAT
RBBS-PC x filename (see note of values available for "x" and "filename")
IF EXIST A:RBBSxF1.DEF GOTO EXIT
IF EXIST A:RCTTY.BAT WATCHDG1 ON
IF EXIST A:RCTTY.BAT A:RCTTY.BAT
A:RBBS.BAT
:EXIT
NOTE: When running RBBS-PC.EXE, RBBS-PC will check for the "x" in the
command line that invoked RBBS-PC. The "x" on the execute line is
extremely important to the correct operation of RBBS-PC. If you are
running in a local area network environment then the "x" should be a
number between "1" and "0" or a letter between "A" and "Z". If "x" is
omitted from the command line, RBBS-PC will look for a file named RBBS-
PC.DEF. RBBS-PC uses the parameter in the command line to
Page 76 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
determine the correct RBBSxPC.DEF file to use for its configuration
parameters if the second parameter is not present. If the second
parameter is present, then RBBS-PC assumes this is the fully qualified
file name for the .DEF file that this node should use.
16.0 THE USE OF RBBS-PC "DOORS"
-------------------------------
The RBBS-PC "door" concept is that of allowing a SYSOP to set up a "door"
through which users can exit from RBBS-PC and enter other applications. In
previous versions of RBBS-PC (i.e. prior to CPC12-3A) this had been called
"windows" but because of the confusion this created with the WINDOWing
concepts of other software, it has been re-labeled "doors".
RBBS-PC's "doors" are nothing more than .BAT files that the SYSOP has
created to allow users to exit from RBBS-PC and enter other
applications (i.e. databases, etc.). The SYSOP is responsible for writing
the .BAT files that users will be allowed to invoke. Assuming that RBBS-
PC is brought up by DOS via an AUTOEXEC file that invokes RBBS.BAT, a door
called EDIT exists that consists of a .BAT file (EDIT.BAT) which contains
the commands CTTY, EDLIN, and RBBS.BAT. In order to exit RBBS-PC (either
for a "door" or for the remote SYSOP's function 7) without the code that
the BASIC compiler generates for you dropping the remote user, it is
necessary for the compiler that RBBS-PC is compiled under be "patched" as
described in Appendix O otherwise the user will be disconnected upon
returning to RBBS-PC. Here is pictorially what happens:
DOS
|
\|/
AUTOEXEC.BAT
|
\|/
RBBS.BAT
+--------->RBBS-PC.EXE
|
\|/
"RUN"
|
/ |
+-------------ends
| \
RBBS.BAT
|
\|/
RCTTY.BAT<-----invokes door called "EDIT"
|
\|/
EDIT.BAT
+--------->EDLIN.COM
|
|
EDIT.BAT <--------ends
|
\|/
RBBS.BAT
\|/
+--------->RBBS-PC.EXE
|
|
welcome back from door
and RBBS-PC continues
Page 77 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
A sample .BAT file for a program called TEST.EXE would look like this:
CTTY COM1
TEST.EXE
CTTY CON
RBBS-PC.BAT
and assumes:
1. That you are going to be using COM1.
2. That the program "TEST.EXE" is on the default drive.
3. That the batch file to invoke RBBS-PC is called "RBBS-PC.BAT."
4. The the batch file "RBBS-PC.BAT" is on the default drive.
CTTY METHOD -- The first command, "CTTY COM1", assigns most standard input
and output to the communications port number 1. The second command,
"TEST.EXE", invokes some test program that you write that reads from and
writes to the standard input and output devices (i.e. the keyboard and the
screen). The third command, "CTTY CON", reassigns the standard input and
output back to the local PC's keyboard and screen whenever TEST.EXE ends.
The fourth command simply invokes another batch file named RBBS.BAT (which
presumably invokes RBBS-PC).
REDIRECT I/O METHOD -- The first command, "COMMAND /C TEST.EXE <COM1
>COM1", starts a secondary command processor, loads TEST.EXE and assigns
most standard input and output to the communications port number 1. "Most"
is the key word here since PC-DOS does not have a way of redirecting
"STANDARD ERROR" like it does for "STANDARD IN and STANDARD OUT". To solve
this problem STDERR.COM is included as part of the basic RBBS-PC system.
This program was provided by Quarterdeck Systems. Run "STDERR.COM" one
time only before you start RBBS-PC. I suggest that you include it in your
AUTOEXEC.BAT file. This program works with all versions of PC-DOS 2.0
through 3.2.
To first set up and test a door, DO NOT USE RBBS-PC. Rather set up with
1. your modem on autoanswer (i.e. it answers the phone)
2. a .BAT file that redirects all input and output to the communications
port that you are going to use using the IBM DOS CTTY command.
3. make sure the .BAT file invokes the program that you want to use as
a "door."
4. invoke the .BAT file that you set up in steps 2 and 3.
5. dial up the modem that you set in autoanswer mode in step 1.
6. get your "door" to work in this environment.
If you have problems with steps 1 through 6, call your friendly IBM support
or the vendor of the software that you want to use as a door and ask them
to teach you about either their software or the CTTY command and their
software's compatibility with the CTTY command.
AFTER YOU HAVE YOUR DOOR WORKING, to set up a "door" for RBBS-PC, you must
1. list the name of the door (i.e. the .BAT file which you already
got working and debugged and are responsible for setting up) in MENU5.
2. indicated that doors are available (via CONFIG.BAS' option 81).
When a user invokes the D>oor command, RBBS-PC will:
1. List MENU5,
2. Check that the door that the user selects was specified in MENU5,
3. Check that the .BAT file exists (on the default drive),
Page 78 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
4. Dynamically create a .BAT file with the name specified
by the SYSOP in option 83 of CONFIG.BAS that:
a. invokes the .BAT file of the window specified,and
b. re-invokes RBBS-PC after the user EXITS from the
"door" by invoking the .BAT file that the SYSOP
specified in option 84 of CONFIG.BAS.
The purpose of "doors" is to allow for the "horizontal" growth of RBBS-
PC. Clearly RBBS-PC has about all that IBM's BASIC compiler can handle.
In order to not limit the application of RBBS-PC either to BASIC or the
current compiler, "doors" was chosen as a mechanism to allow SYSOP's to
make available other features (i.e. databases, games, etc.). Hopefully
with RBBS-PC as a base, the limitations on doors will only be the SYSOP's
resourcefulness AND IBM'S DISK OPERATING SYSTEM (see chapter 18)!
The design of the .BAT file that is to be used as a "door" is critical
and is the responsibility of the SYSOP. At the very minimum it should
handle the communication port I/O. This can be done in a very primitive
way using the DOS CTTY command and and a utility similar to WATCHDOG
(written by Jim Reinders) that is described in chapter 19.
When the file RCTTY.BAT is executed, it executes another batch file with
the name of that particular door. DOS does not return to the RCTTY.BAT.
So, at the end of your doors batch file, you must reinvoke RBBS.BAT.
The way that the doors menu works is it checks to see if the door name that
you wanted to open is in MENU5. If it is in all capital letters in the
RBBS file MENU5, it runs the batch file of that name with the extension
".BAT".
In general, the program invoked as a "door" has to do is print everything
to the Comm port and if you wish, echo it to the screen. The initial part
of any "door" should read in the parameters passed to the "door" in the
"node" record (see line numbers 43070 and 44000 of RBBS-PC.BAS) and
establish the communications parameter appropriately.
Finally, if the preceding discussion of "doors" is a complete mystery to
you, contact a SYSOP of an RBBS-PC that is using "doors" and ask for help.
CHESSDOR is one of the more professional "doors" that has been shared with
me. It was written by Bob Westcott and his data number is (603) 424-5497.
While I don't suppose it needs to be mentioned, if you call Bob and take up
their time learning about "doors" for personal gain (i.e. you are a
consultant or some company's employee being paid to write a "door") have
the courtesy to tell them. The "user helping user" concept does NOT imply
that anyone should be taken advantage. Bob (or anyone else who has
acquired specialized knowledge) has the right to be remunerated for their
efforts if their knowledge is being used to further commercial purposes and
they request it.
The "door" concept stretches IBM's DOS' capabilities and requires an
extraordinary knowledge of how both DOS, the DOS CTTY command, and .BAT
files work.
17.0 THE SECURITY FEATURES OF RBBS-PC
--------------------------------------
RBBS has always been an open system designed for public use. A SYSOP should
always ASSUME that EVERY FILE ON THE PC running RBBS-PC CAN BE DOWNLOADED
AND/OR DESTROYED. However, RBBS-PC has extensive safeguards that
systematically enhance security and privacy. For example, RBBS-PC has the
Page 79 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
logic within it's code to prohibit anyone (including SYSOP's) from
downloading the RBBS-PC "system" files described in section 6.1. RBBS can
still be run as a wide-open system, but the SYSOP has many additional
options to restrain access. These security options make RBBS much
more suitable for private and business use.
RBBS-PC's security is controlled by three things:
1. the system configuration file (RBBS-PC.DEF),
2. the two external security files for
a. passwords (PASSWRDS), and
b. file downloads (FILESEC), and
3. the users file (USERS) in which each user has an assigned
security level.
The users file is controlled by the SYSOP's user maintenance function
5 as described in chapter 18. To change a specific users security level
you select the M>odify option and then the S>ecurity option. This allows
you to set the security level for a user. Users cannot set their own
security levels. Section 17.3 describes how to implement special passwords
that provide special privileges to the groups that issue them. Section
17.4 describes how specific files, groups of files, or even whole disk
volumes can have download security levels associated with them.
17.1 RBBS-PC's Security Features
--------------------------------
Each user has an assigned security level. This is an integer in the
range -32,000 to +32,000. There are then over 65,000 possible security
levels. Each command in RBBS-PC also has a security level assigned to
it. Security assignments are controlled by the SYSOP. To use a
command, the caller's security level must be at least as high as the
command's security level.
The SYSOP can assign a file or group of files both a security level and a
password. To download a file, a caller must have a security level at
least as high as the file's and be able to give the file's password (if one
is present). All users must pass these security tests, including
anyone with SYSOP privileges.
Messages can now be assigned a password by their creator. Then only
persons who are able to give that password can read or kill the message.
Messages with password protection will show <PROTECTED> when scanned.
Callers have no way of distinguishing messages to private individuals
and to groups except by how they are addressed. Persons with SYSOP
privileges can read all messages. Section 17.2's description of sending a
message to an AUTHORS SIG as an addressee with the password of AUTHORONLY
shows how to send a message to a special group.
Security violations are logged to the CALLERS file. These include
attempting to use functions without sufficient security clearance, and
failure to give required passwords.
RBBS-PC's default configuration is that of an "open" system.
RBBS-PC's security system provides the SYSOP with several choices on how to
run RBBS-PC. The chief ones are as follows:
1. Change the bulletin board from an open system available to all callers,
to a pre-registered system available only to specified users. To
support this option, there is a function in the SYSOP's user maintenance
option 5 to ADD users.
Page 80 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
2. A SYSOP can set up different "classes" of users by assigning different
security levels to different users. Concurrently the SYSOP would have to
assign different security levels to different commands. For example new
callers might be permitted only to leave a comment, read bulletins, and
list files that can be downloaded. Or there might be a group of files
assigned a security level that only members of a special interest group can
download.
3. The SYSOP can segregate the functions of the bulletin board into
different groups based on a password. A specific file or group of files
can be downloadable only to those who knew the password. Similarly,
messages can be made open to everyone knowing the password but closed to
everyone else. This way there can be semi-private portions of the bulletin
board.
17.2 Examples of Uses for RBBS-PC's Security System
---------------------------------------------------
Some examples of how a SYSOP can tailor RBBS-PC using RBBS-PC's extensive
security features follow.
SPECIAL INTEREST GROUPS -- A special interest group (SIG) in a users group
wishes to run a RBBS for both the general public and its own use. An
example would be an authors SIG for persons interested in publishing books
and articles or developing commercial software. A definite need would
exist to be able to address messages to everyone in the SIG without making
them open to every caller. The SIG would establish the convention to
password protect general SIG messages with the password AUTHORONLY, and to
address them to AUTHORS SIG.
Another example would be a bulletin board devoted to the exchange of
software. Allowing persons to use the message subsystem would only
interfere with the primary purpose of the bulletin board. Therefore the
SYSOP removes from the menu the functions for leaving and reading
messages. To prevent a person from using the functions to leave or read a
message (even though they are not displayed), the SYSOP assigns these
functions a security level higher than a person who logs on normally would
be assigned.
Another example of using RBBS-PC's security system would be to set up an
agreed upon temporary password such that when a user logs onto the system
they can issue the password and get longer than normally allowed. If the
time for normal users is 30 minutes, the SYSOP can set up the special
password SOFTEXCHANGE, with a maximum time on of 150 minutes instead
of the normal 30. By shifting over to this special password after
logging in, members can get extra time if they need it.
SOFTWARE SUPPORT -- An author of a freeware program offers RBBS support to
all persons who register their copies and send a contribution of, say,
$35 per copy. The registered user can get answers for problems and
download free updates and sample applications. The author wants
anyone to be able to call just to find out about the service. New
callers get a security level of 2 automatically assigned to them. This
allows them to use only the message subsystem. The file subsystem is
assigned a security level of 7. Contributors are added by the SYSOP
with a security level of 7 and a pre-assigned password. Except for SYSOP
functions, registered users have free reign in the RBBS.
CLIENT SUPPORT -- A SYSOP on a public RBBS also works as a management
consultant. She has several associates who work with her on projects. She
needs to be able to send and receive messages from her associates which the
general public should not see. So they agree on a message password
Page 81 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
NOTPUBLIC. To support her different clients she also needs to leave private
files for downloading. To each client she assigns a special downloading
password. To restrict downloading to just that client, file names are
put in the file security file with the appropriate password. Only persons
with the password can then download them.
PRIVILEGED ELECTRONIC MAIL -- A company uses RBBS-PC to help support its
regional offices. Only regional vice-presidents should be able to download
certain management reports. In file security these reports are assigned a
high security level of 9, which only managers get.
17.3 How to Implement the Password File
---------------------------------------
CONFIG allows the SYSOP to designate the name of the file containing the
privileged group passwords to RBBS-PC. Since this file is a normal ASCII
file, the SYSOP can use any text editor to create and update the
file it. Put the information for each password on a single line and
separate the fields with commas. It is important to note that EACH record
of both the password or the file security file must contain FOUR fields
(i.e. THREE commas). For the password file, the format is:
<password>,<security level>,<max time on>,<subscription period>
Note: Max time is in units of minutes, subscription period is in number of
days.
Two examples are:
EXTEND,5,120,9999
,7,128,
If you are using COPY CON to create this file you "MUST" press F6 followed
by a Ctrl/Z at the end of the last entry prior to pressing carriage return.
A user who issued the password change function and supplied the password
EXTEND would have their security level temporarily set to 5 and be granted
an elapsed time of 120 minutes for the current session (the users elapsed
time per day would still be whatever was set in option 15 of CONFIG), and a
subscription period of 9,999 days. A user who logged on with a security
level of 7 would automatically be granted 128 minutes on the system, and
the subscription period would be unchanged from whatever it was before.
17.4 How to Implement the Security for Download Files
------------------------------------------------------
CONFIG allows the SYSOP to designate the name of the file containing the
passwords and security levels that can be used to restrict downloads of
specific files, volumes, or files names meeting certain "wildcard"
criteria. This file contains file names with download restrictions in the
format:
<filename>, <security level>,<password>
Note: Each line is a record and ends with carriage-return line-feed. The
only optional field is the password field for a filename. By leaving the
password field empty, no password is assigned to a file. The commas
between the fields are necessary. YOU MUST HAVE TWO COMMAS ON EACH LINE
even if you do not have a password associated with the file.
Page 82 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Some examples would be:
COMMAND.COM, 10,DOS
PAYROLL.DAT, 99,BANKRUPT
CALLGIRL.SEX,,ILLEGAL
\FINANCE\STOCKS,100,
The file COMMAND.COM could not be downloaded unless a user had a security
level equal to or greater than 10 AND could supply the password "DOS". The
file PAYROLL.DAT could not be downloaded unless a user had a security level
equal to or greater than 99 AND could supply the password "BANKRUPT". Any
user could download the file CALLGIRL.SEX if they could supply the
password "ILLEGAL". Any user with a security level of 100 or higher
could download the file STOCKS in the DOS subdirectory FINANCE without
supplying any password.
Additionally "wild-card" characters and drive designators can be used to
protect or restrict certain classes of files (by extension, by drive, etc.)
from being downloaded.
Some examples would be:
A:*.*,8,
E:*.SEC,2,PW1
A*.M*,0,GX3
XY?X.*,9,3XG
All files on drive A would require the users to have a security level of 8
in order for a user to download them. Any user who wanted to download a
file whose extension was ".SEC" and was found to be on drive E would have
to not only have a security level of at least 2 but to also give the
password PW1. The third entry above would require a user who wanted to
download any file on any drive with a prefix that began with "A" and an
extension that began with "M" to have a security level of at least 0 and to
enter the password GX3. Finally, the last entry above would require any
user who wanted to download any file on any drive whose four-letter name
began with "XY" and whose last letter was "X" with any extension to have a
security level of at least 9 and enter the password 3XG.
The wildcards "*" and "?" operate just like they do in DOS with one
exception. The "?" requires a character. In DOS the name "HAPPY"
satisfies the file spec "HAPPY?" but it does not in RBBS.
To get exceptions to the general rule, just put the exceptions first.
RBBS-PC's file security search stops with the first applicable entry that
it encounters. For example,
1. if you want all files on the B drive to require the user to have a
security level of at least 3,
2. except that files on the B drive with the extension ".SEC" would
require the user to have a security level of at least 6, and,
3. regardless of the disk drive that they were on, any file beginning
with "MES" with an extension of ".SEC" would require the user to have
a security level of at least 12
you would enter the following into the file security file
MES*.SEC,12,
B:*.SEC,6,
B:*.*,3
Page 83 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Special Note: RBBS is hard coded so that there are some files that nobody
can download -- not even the SYSOP. These are RBBS-PC.DEF,
users, messages, callers, group password, comments, the file
security, and backup files. Similarly the batch files
that control RBBS and let the caller exit to DOS 2 can not
be downloaded. The default security file provided with
RBBS-PC is empty.
17.5 How to Implement the Security for RBBS-PC Commands
--------------------------------------------------------
RBBS-PC allows each command to be assigned it's own security level. A user
who wishes to invoke an RBBS-PC command must have at least the same
security level as the command. Let's assume that a SYSOP wants to set up
the following classes of users:
Classification of Users Security Level
"Locked Out" Users 0
New Users (first time) 1
Normal Users 2
Users who can "view" a Conference 3
Users who can enter Messages 4
Users who can download files 5
Users who can upload files 6
Users who can Join a Conference 7
Users who can do some SYSOP commands (Jr. SYSOP's) 8
Users who can enter a "door" 9
Users who can enter all SYSOP commands (Co-SYSOP's) 10
The following table illustrates one method of assigning each RBBS-PC
command it's own security level:
Security Level
Subsystem/Command Assigned to Command
Messages Subsystem
A>nswer questionnaire............... 4
B>ulletins.......................... 1
C>omments........................... 1
D>oor subsystem..................... 9
E>enter message..................... 4
F>iles system....................... 1
G>oodbye............................ 0
I>nitial welcome.................... 1
J>oin a conference.................. 7
K>ill messages...................... 4
O>perator page...................... 1
P>ersonal mail...................... 2
R>ead messages...................... 2
S>can messages...................... 1
T>opic of messages.................. 1
U>tilities (more)................... 1
V>iew a conference.................. 3
W>ho's on other nodes................3
Files Subsystem
D>ownload........................... 5
G>oodbye............................ 0
L>ist file directories.............. 4
N>ew files.......................... 5
S>earch directories for string ..... 1
U>pload a file...................... 1
V>erbose listing of ARC file........ 1
X>Expert mode on/off................ 1
Page 84 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Utilities Subsystem
B>aud rate.......................... 1
C>lock (time of day)................ 1
F>ile transfer protocol............. 1
G>raphics........................... 1
L>ength of page..................... 1
M>essage Margin..................... 1
R>eview preferences................. 0
S>tatistics of system............... 1
T>oggle (line feeds, etc.).......... 1
U>serlog............................ 2
GLOBAL commands
?>What can be done.................. 1
H>elp with a command................ 1
Q>uit to another subystem or exit... 1
X>Expert/novice toggle.............. 1
SYSOP Subsystem
1>List comments..................... 8
2>List callers log..................10
3>Recover a Message................. 8
4>Erase comments.................... 9
5>USERS maintenance.................10
6>Toggle page bell.................. 8
7>Exit to DOS 2.x or above.......... 9
17.6 Beware of the "Trojan Horse!"
-----------------------------------
Despite RBBS-PC's security always remember that you should always assume:
"EVERY FILE ON THE PC RUNNING RBBS-PC CAN
BE DOWNLOADED, MODIFIED, AND/OR DESTROYED!"
RBBS-PC's security system appears to be so fool-proof that some individuals
have resorted to uploading programs that appear to do one thing, but
actually do something else. These "trojan horse" programs search all the
disks that are connected to the PC that the program is running on for such
RBBS files as RBBS-PC.DEF or USERS. The program then copies these files to
an innocuously named file that can be downloaded later when the person who
uploaded it logs onto the system again. Since RBBS-PC.DEF contains the
pseudonym that the SYSOP can use to logon on remotely as the SYSOP, once
the user downloads a copy of it the user can then log on as the SYSOP and
do just about anything including exiting to DOS and formatting all the
disks on the system. Similarly, the USERS file contains passwords and the
security levels of everyone on your RBBS -- some of whom may have SYSOP
privileges.
You can protect yourself against anyone logging on as you, the SYSOP, by
not allowing anyone to logon as the SYSOP remotely. To do this read
chapter 11 regarding parameters 3 and 4. You can protect yourself against
unauthorized access of the USERS file by simply not allowing any user to
have SYSOP privileges.
Of course there is the "trojan horse" program that doesn't even bother with
the above, but simply destroys all the disk files on all the disks that are
connected to the PC that is running the program. See the rest of chapter
17 to see how you can protect yourself against such programs.
Page 85 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
18.0 SYSOP FUNCTIONS
-------------------
The SYSOP functions are not available to the general user, and it should be
noted that the SYSOP should not use some of the user functions either
because the code will not work correctly if called from the main console,
or the function is not for use by the SYSOP. Such functions are
the <O>perator, <N>ewbaud, <PW> password, and file upload/download
using XMODEM. File download using ASCII can be used to "type" files
available for download so they scroll across your screen.
To enter the SYSOP mode press the ESC key locally or enter the special
'pass' and 'word' first and last name from a remote terminal.
18.1 SYSOP Commands Within RBBS-PC
----------------------------------
The following operations can then be performed by entering a number only at
the command prompt:
1 - Type COMMENTS file. The contents of the COMMENTS file is displayed.
This file can also be inspected using a TYPE command from DOS. It is a
ASCII sequential text file.
2 - Type CALLERS file. A log is maintained of all persons who have called
the system. This function will list the file showing the users name and
the date and time signed on as well as the names of the files they
upload/downloads along with any security violation or errors encountered.
This is a random access file of 64-byte records.
3 - Resurrect a message. This function will return a message that has been
killed to an active state. If message file has been "packed", the
killed messages are no longer recoverable. The function will ask for the
message number of the message to be recovered.
4 - Erase the COMMENTS file. This function will erase the comments file by
killing the file. Since the file is opened "APPEND," a new comments file
will be created the next time a user leaves a comment.
5 - USERS file maintenance. The users file contains entries for each user
registered with the system. This function permits the SYSOP to
A)dd -- add a user to the USERS file.
L)st -- list the USERS file.
P)rt -- print the USERS file on the printer.
M)od -- modify a record in the USERS file.
S)can - scan each record in the USERS file for a particular string.
In <M>odify mode, limiting editing of the users record in the USERS file
can be done. The following subfunctions are available:
D - Delete a user in the USERS file.
F - Find a user in the USERS file.
M - Return to the option 5 function prompt.
N - Give the user a new password.
P - Toggle the printer flag to print entries on the printer.
Q - Quit and return to the main message prompt.
R - Reset the users graphic mode.
S - Set the security level of the user. This can be used to lockout or
grant special privileges to the user.
# - locate any record number within the USERS file.
Page 86 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
In <M>odify mode a record will be displayed followed by a subfunction
prompt for action. To get to a specific record the record number can be
entered at the prompt and if valid that record will be displayed. If the
record number is invalid or an empty c/r is entered then the next record in
the file will be displayed.
6 - Toggles the operator page bell on/off. This overrides the "office
hours" specified in the RBBS-PC.DEF file.
7 - SYSOP drop to DOS as a remote user. If the SYSOP has logged on
remotely and is running RBBS-PC under DOS 2.0 or greater, this
function will dynamically setup a batch file to assign the SYSOPS
terminal as the main console. It then returns to DOS and if
a. CONFIG option 9 is equal to 1 with ringback equal to NO, and
b. RBBS-PC was invoked via a batch file, and if
c. that batch file checks for the batch file which RBBS-PC
dynamically builds for option 7, and if
d. the batch file that invokes RBBS-PC executes the batch file
that RBBS-PC dynamically builds for option 7, and if
The the SYSOP will then see the DOS prompt at the remote terminal and can
execute whatever DOS commands or programs the CTTY command support. DOS
will look for COMMAND.COM to be present on the disk drive you specified in
option 85. Option 7, unlike "doors," loads in a copy of COMMAND.COM to run
under the copy that was running RBBS-PC. Also be sure to read chapter 19
and make sure that you THOROUGHLY understands the limitations that DOS
places on you when this option is invoked.
Two areas of caution are advised when using option 7 under DOS 2.0
or above. First, each SYSOP should test what can be done remotely.
Software that reads and writes directly to the video BIOS and does other
things that bypass the standard input and output of DOS simply won't
function correctly. Second, you should be aware that you are in DOS
and can return to RBBS-PC only by issuing the EXIT command. This will
return to the batch file that was built dynamically by RBBS-PC. This
file will then continue executing and is designed to reassign the
keyboard as the console and then re-invoke RBBS-PC. If you get
disconnected while in DOS, your system will be locked up. The console
will be assigned to your communication port and your Hayes modem will
have dropped the line and will have been set not to auto-answer. The
only way to re-boot the system is a manual power off/on sequence.
18.2 SYSOP's Use of Function Keys
---------------------------------
The following function keys (ten keys on the left side of a standard
IBM keyboard) are designed to give the SYSOP special local controls
that can be actuated without entering the SYSOP mode (using the ESC
entry key). The current status of the function keys F3, F4, F6 and F7 are
displayed on line 25.
F1 - Return to DOS. This will terminate a session if a caller is on-line.
In a MultiLink environment when running RBBS-PC out of .BAT file that re-
invokes itself it is difficult for a SYSOP to get out of RBBS-PC and exit
to DOS locally using F1. To help, RBBS-PC now creates a special file on
the same location as the CALLERS file called RBBSxF1.DEF (where "x" is the
node ID -- RBBS6F1.DEF for node six). The .BAT file that would otherwise
just re-invoke itself, can now check for the existence of this file and if
Page 87 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
it finds it simply terminate itself.
F2 - SHELL to DOS. RBBS-PC remains resident but suspended in memory, the
user (if any) remains on-line and the local SYSOP is in DOS until the EXIT
command is issued (returning to within RBBS-PC just prior to having pressed
the F2 key). The users session is not terminated -- only suspended.
F3 - Printer toggle on/off. This changes the printer on-line status. When
on-line the printer will print each caller's name and the
file names uploaded/downloaded. It will also print all error
messages except the ERROR 68 used to check that a file exists. This
function should match the condition of the printer. If the printer is
going to be left off, the PRINTER toggle should be set to off. When
the printer toggle is on, "LPT" will be displayed in positions 8-11 of line
25.
F4 - Operator page toggle. This changes the status of "operator annoy"
(i.e. allows the SYSOP to be pageable) and records the change in the
"node" record associated with the copy of RBBS-PC associated with function
key 4. This is set by the CONFIG program parameter # 7 which
establishes the SYSOP's office hours. This can be used to override and
extend the "office hours" set up by CONFIG.BAS. When the "operator annoy"
toggle is on, "ANY" will be displayed in positions 5-7 of line 25.
F5 - Forces RBBS-PC to tell the modem to answer the phone.
F6 - SYSOP available. This changes the status of operator available and
records the change in the "node" record associated with the copy of RBBS-
PC associated with function key 6. This is useful if during your "office
hours" you temporarily don't wish to be disturbed. When the SYSOP
available toggle is on, "AVL" will be displayed in positions 1-3 of line
25.
F7 - SYSOP gets control of the system after current user logs off. When
the "SYSOP next" toggle is on, "SYS" will be displayed in positions 13-15
of line 25.
F8 - Allows the SYSOP to grant an on-line user temporary SYSOP privileges.
This is a toggle on/off switch.
F9 - SNOOP toggle. This changes the SNOOP from the default value the first
time it is pressed and toggles it on/off thereafter. "SNOOP off" clears
the screen and turns the cursor off. It also keeps the download beeps
from sounding. The SNOOP should be left off for normal use to keep the
system startup screen from "burning into" the monitor. If the SNOOP is
left on, the monitor should be physically turned off except when you are
observing the RBBS in action. Leaving the monitor off will not affect
performance of the RBBS.
F10 - This is the forced chat switch. It announces your forced chat and
who you are before turning the keyboard over to you and the caller. The
ESC key is used to exit Forced chat mode or to answer an "O>perator page"
request. The F10 key will not function until a user logging on has reached
the Main Menu.
END - Logs off and locks out the current user that is on and informs the
user that their presence is unacceptable.
PgUp - Displays all the information on a current user. This display is
kept in the video page 1 (of the 0-7 pages). The user activity is always
written to page 0 when SNOOP is active. The user sees no interruption when
Page 88 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
this occurs as his activity continues unaffected. If you have a monochrome
display there is no video pages 1 through 7 only page 0. This will display
on the monochrome screen the user information.
PgDn - Return to displaying video page 0 (i.e. the page that the users
activity is written to when SNOOP is on).
The SYSOP can also enter commands on the command prompt line while a caller
is on-line. The command entered will cause the system to respond just as
it would if the caller had entered the command. This should be used with
caution because it could confuse a new system user -- users are often timid
enough without knowing that big brother is actually watching them! Let
callers page you and then tell them that you can assist with commands if
the get into trouble.
UP ARROW -- The keyboard "up arrow" key (i.e. one that generates the
character with ASCII value 24 and which is the "8" key on the standard IBM
keyboard's numeric pad that is at the left of the keyboard) allows the
local SYSOP to increment an on-line users security level by one each time
that it is pressed.
DOWN ARROW -- The keyboard "down arrow" key (i.e. one that generates the
character with ASCII value 25 and which is the "2" key on the standard IBM
keyboard's numeric pad that is at the left of the keyboard) allows the
local SYSOP to decrement an on-line users security level by one each time
that it is pressed.
19.0 DOS LIMITATIONS ON RUNNING PROGRAMS REMOTELY
-------------------------------------------------
19.1 How to Get DOS to Monitor Carrier Detect
---------------------------------------------
When accessing your PC via a communications port, the carrier detect signal
tells the PC that you are on-line. DOS's major limitation is that there is
no way to tell DOS to monitor carrier detect automatically when the
standard input and output is transferred to a communication port (i.e. via
the CTTY command). RBBS-PC makes sure that the carrier is not dropped
when a user exits to DOS either via the "DOORS" option or using the remote
SYSOP function 8. However, it is the SYSOP's responsibility to insure
that whatever programs are invoked after leaving RBBS-PC perform all
the necessary functions to maintain the communications session and, when
exiting to return to RBBS-PC, that the carrier is "NOT" dropped.
Most application programs (i.e. databases, etc.) are not designed to be
controlled by users accessing them from a communications port. This
problem is solved when a function is invoked that:
1. Checks to see if the standard input and output console have been
assigned to an auxiliary console such as a communication port.
2. If condition 1 is true, checks to see if the carrier detect signal is
lost by intercepting each interrupt from the communication port the
auxiliary console has been assigned to.
3. If BOTH conditions 1 and 2 are true, this function would cause DOS to
switch back to the standard screen and keyboard for its operations AND then
continue processing whatever batch file that had been executing (if one
was).
Such a function (or device driver) would provide a "fail safe" feature that
would allow users to exit RBBS-PC to use whatever other software the
SYSOP chose to make available (i.e. relational databases for complex
Page 89 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
inquiries -- bibliographic, sports, games, etc.). For those
anticipating using RBBS-PC's "doors" or exiting to DOS when you are a
remote SYSOP, you are strongly encouraged to consider using the "watchdog"
utility program available on many bulletin board systems under such file
names as WATCHDOG.COM, WATCHDOG.ASM, WATCHDOG.DOC, WATCHDOG.EXE that
monitors the communication port for you and reboots your system if carrier
drops. If you don't use a program like WATCHDOG and accidentally hang up
while in a "door" or in DOS, you system will remain "hung" until you can
manually reboot it.
If you aren't technically inclined and want to use RBBS-PC "doors", I
suggest you consider using MultiLink from The Software Link,
Incorporated at (404) 998-0700. While MultiLink costs about $500 and
neither RBBS-PC nor CPCUG have any connection with it, it does provide a
mechanism for overcoming DOS's inability to have programs invoked from
remote users (release 2.0.6 or higher of MultiLink is required). If RBBS
detects that MultiLink is present when a user exits to DOS via "doors",
RBBS-PC automatically passes control of the communications port that the
user is on to MultiLink so that MultiLink can do the carrier monitoring on
behalf of the application.
19.2 How to Redirect Graphic Displays to Remote Users
------------------------------------------------------
Programs that utilize the PC's built in video memory (such as the IBM BASIC
interpreter or WordStar when it writes to the 25th line) need to have such
I/O redirected in a special way to a remote users terminal. Additionally,
if the I/O is redirected to the communications port, the terminal on the
other end must have a "cursor" that can be sent the appropriate command
sequence to move it around on the remote users terminal as necessary.
Without this capability, programs made available through "doors" must be
line-at-a-time programs. This of course excludes programs such as
WordStar, Lotus/123 etc.
If you aren't technically inclined and want to use RBBS-PC "doors" for
applications that write directly to the PC's video hardware, I suggest you
consider using MultiLink (see chapter 19). MultiLink provides a
mechanism for overcoming DOS's inability to redirect graphics to remote
users. If RBBS detects that MultiLink is present when a user exits to DOS
via "doors", RBBS-PC automatically passes control of the communications
port to MultiLink and notifies MultiLink of the kind of MultiLink-supported
terminal to redirect the application's graphics to (presumably one with a
controllable cursor).
20.0 CONFERENCING WITH RBBS-PC
-------------------------------
RBBS-PC is intended to be an open system. The "conference" concept is one
that allows either anyone who can leave messages (i.e. a "public"
conference) or a pre-registered set of users (i.e. a "private" conference)
to engage in a specialized dialogue. To make a "conference" successful
several guidelines should be followed rather rigorously:
1. Establish a "conference chairman" (i.e. a SYSOP) to manage the
conference. The SYSOP job is to add new users, delete old ones, make sure
that the subject and/or the agenda of the conference is adhered to by
killing messages that are inappropriate.
2. Establish an "agenda" or list of subject areas for the conference. One
of these should be about new subject areas. These areas should be VERY
narrow in scope. The essence of any good conference is keeping it focused.
Everyone has been in at least one meeting/conference that was a waste of
time because whoever was running the meeting/conference did not keep the
Page 90 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
dialogue centered on the subject or agenda.
The SYSOP sets up a conference using CONFIG.BAS to pre-format up to two
files -- one for the messages to be associated with the conference and one
for the users to be associated with a conference (if it is a "private"
conference). The file name for a "conference" can be any seven characters
that are valid for a file name. The eighth character must be a "M" (for
the messages file associated the conference) or a "U" (for the users file
associated with the conference). The SYSOP can then enter the conference
member's names in the conference USERS file by using the SYSOP function 5.
The SYSOP can "join" any conference and need not be in any particular
conference's USERS file.
To set up a conference chairman, the SYSOP need only
1. "Join" the conference,
2. Use SYSOP function 5 to enter the name of the user who is to
be the conference chairperson into the conference's USERS file.
3. Set that users security level in the conference's USERS file
to a security level that can issue the SYSOP function 5. This
will allow the conference chairman to add users.
Remember that users can join a "private" conference only if already
registered in that conference's USERS file. Any registered user can join a
"public" conference. When someone issues the J>oin command to join a
conference, their standard security level is temporarily superseded by the
security level associated with their user name within that conference's
USERS file if it is a "private" conference.
For example, a normal user might be given the security required to add
users to the conference USERS file for a particular conference since they
are the conference chairman. When a user joins the conference of which
they are chairman, their normal security is bumped up so that they can add
users to the USERS file of that particular "private" conference. When the
same user exits that conference, their security level is returned to
normal. If they should subsequently join another conference in which they
are not chairman, they would be unable to add users to that conference's
USERS file. Other than a conference chairman, none of the conference
members should be given any higher security than they otherwise enjoy as a
regular RBBS-PC users.
There are no limits on the number of conferences within RBBS-PC. Here are
some examples of some conference names:
Conference Conference Message Conference Users Conference Welcome
Name File Name File Name File Name
FORSALE FORSALEM.DEF FORSALEU.DEF FORSALEW.DEF
GAMES GAMESM.DEF GAMESU.DEF GAMESW.DEF
FINANCE FINANCEM.DEF FINANCEU.DEF FINANCEW.DEF
SYSOPS SYSOPSM.DEF SYSOPSU.DEF SYSOPSW.DEF
CLONES CLONESM.DEF CLONESU.DEF CLONESW.DEF
RELIGON RELIGONM.DEF RELIGONU.DEF RELIGONW.DEF
PHILOSP PHILOSPM.DEF PHILOSPU.DEF PHILSPW.DEF
BBS BBSM.DEF BBSU.DEF BBSW/DEF
If a continuity of dialogue is to be achieved, it is advisable to keep the
conference "focused" -- either by keeping the number of conference members
limited to thirty persons or less or by keeping the subject matter very
narrow (i.e. the IBM PC's 30MB disk size limitation). Another interesting
thing about "private" conferences as implemented within RBBS-PC is that
Page 91 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
they are not "public" and, therefore, are even more protected by the first,
fourth, and fifth amendments.
21.0 RBBS-PC QUESTIONNAIRE FACILITIES
-------------------------------------
RBBS-PC provides a highly sophisticated script-driven capability that
allows a SYSOP to ask new users questions or questions of users when they
say G>oodbye. To ask new users questions the file RBBS-REG.DEF must exist
on the same disk as the WELCOME file. To ask questions of users when they
say G>oodbye the file EPILOG.DEF must exist on the same disk as the the
WELCOME file. The SYSOP can set up the script in such a way as to raise
or lower a new users security level based on the answers. Contained within
the script is the file to which the answers are to be written.
RBBS-PC will only activate the corresponding script files if they exist,
otherwise the functions are bypassed.
The script files should be created with your favorite editor. During the
testing phases both EDLIN and WordStar were used and both worked correctly.
All "script" files are formatted the same and contain support for:
o Branch to labels
o Display lines
o Display line and get response
o Response validation (Multiple choice)
o Numeric validation
o Forward and backward branching
o Raising and lowering user security level
o Aborting the questionnaire
The first line in every script file must contain the file name where the
responses to the script will be appended as the first parameter and the
maximum security level a users security level can be raised to as the
second parameter.. This file can be any valid text type file. The rest of
each script file must contain valid script commands. Script commands are 1
character in length and must be in column 1 of each script line.
Following is a list and description of valid script commands:
: A colon indicates a label command
* An asterisk indicates a display data command
? A question mark indicates a display and wait for response command
= An equal sign indicates a multiple choice branch command
> A greater than symbol indicates a goto command
+ A plus sign indicates a raise security level command
- A minus sign indicates a lower security level command
@ An "at" sign means to abort questionnaire and do not write results
: Colon (Label command)
This command is used to provide labels that can be branched to from =
and > commands.
i.e. :QUESTION1
* Asterisk (Display data command)
This command is used to send data to the user.
i.e. *In order to better serve those who pass this way, I would
? Question mark (Display data and get response)
This command is used to send data to the user and wait for a response.
The user will be required to input a response. The ENTER key alone is
Page 92 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
an invalid response. No other checks are made.
i.e. ?DO YOU OWN YOUR OWN PC? (Y/N)
= Equal sign (Response validation - Multiple choice)
This command is used in conjunction with the ? command and must
immediately follow the ? command for which it applies. This command
allows for checking/editing of single character responses to the
preceding ? command and allows branch logic to be exercised based on
the response given. Multiple = commands must be coded on the same
line. The format follows:
=AXXXXXXXXX=BYYYYYYYYY= ZZZZZZZZZZ
= Indicates that a single character comparison value follows
A Is the comparison value
X Is the label to branch to if the response is "A"
= Indicates that a single character comparison value follows
B Is the comparison value
Y Is the label to branch to if the response is "B"
= Indicates that a single character comparison value follows
(SPACE) This is a special comparison value that is always used as the
last comparison value and means "INVALID" response given
Z Is the label to branch to if an invalid response is given
Maximum line length is 255 characters and the last = on the line "MUST"
have a comparison value of " " (SPACE).
i.e. :QUESTION1
?Do you run a BBS system. (Y/N)
=YQUESTION2=NQUESTION2= QUESTION1E
:QUESTION1E
*Please respond Y or N
>QUESTION1
:QUESTION2
There is an additional format for the = command, where the comparison
value of # (Pound sign) is used. This is used as a numeric check and
encompasses 0-9, (), - and space. This format requires two entries.
The first is to test for numerics and the second is the invalid response
branch label.
i.e. =#QUESTION3= QUESTION2E
> Greater than sign (Forward and backward branching)
This command is used to branch to specific labels within the script
file.
i.e. >QUESTION4
+ Plus sign (Raise user security level)
This command will add the value in columns 2-6 to the default security
level given new users or the current security level of old users.
i.e. +5
- Minus sign (Lower user security level)
This command will subtract the value in columns 2-6 to the default
security given new users or the current security level of old users.
i.e. -1
Page 93 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
@ At sign (Abort questionnaire)
This command will terminate the questionnaire and NOT write the response
to the output file.
i.e. :QUESTION1
?Have you answered the questionnaire before. (Y/N)
=YQUESTION2=NQUESTION2= QUESTION1E
:QUESTION1E
*Please respond Y or N
>QUESTION1
:QUESTION2
@
The following is a sample of an RBBS-PC "ASKUSER" script file:
"RBBS-REG.DAT",6
*IN ORDER TO BETTER SERVE THOSE WHO PASS THIS WAY, I WOULD LIKE YOU TO
*HELP ME BY ANSWERING A FEW QUESTIONS.
*
*THANK YOU,
*
*PLEASE ANSWER THE FOLLOWING QUESTIONS:
:QUESTION1
?DO YOU OWN YOUR OWN PC? (Y/N)
=YQUESTION2=NQUESTION2= QUESTION1E
:QUESTION1E
*PLEASE RESPOND Y OR N
>QUESTION1
:QUESTION2
*HOW OFTEN DO YOU CALL BBS SYSTEMS?
*(A) = LESS THAN 1 TIME PER WEEK
*(B) = 1-5 TIMES PER WEEK
*(C) = 5-10 TIMES PER WEEK
*(D) = MORE THAN 10 TIMES PER WEEK
?ENTER ONE OF THE ABOVE
=AQUESTION3=BQUESTION3=CQUESTION3=DQUESTION3= QUESTION2E
:QUESTION2E
*PLEASE ENTER A,B,C OR D!
>QUESTION2
:QUESTION3
?ARE YOU A SYSOP OF A CURRENTLY OPERATING BBS SYSTEM? (Y/N)
=YQUESTION4=NQUESTION6= QUESTION3E
:QUESTION3E
*PLEASE RESPOND Y OR N
>QUESTION3
:QUESTION4
*WHICH BBS SYSTEM DO YOU RUN
*(A) = RBBS-PC
*(B) = HOSTCOM
*(C) = BBS-PC
*(D) = FIDO
*(E) = PC-HOST
*(F) = OTHER
?PLEASE ENTER ONE OF THE ABOVE
=AQUESTION6=BQUESTION6=CQUESTION6=DQUESTION6=EQUESTION6=FQUESTION5= QUESTION4E
:QUESTION4E
*PLEASE ENTER A, B, C, D, E OR F
>QUESTION4
:QUESTION5
?ENTER THE NAME OF THE BBS SYSTEM THAT YOU RUN
:QUESTION6
*THANK YOU FOR TAKING THE TIME TO ANSWER THESE FEW QUESTIONS.
*I HOPE YOU ENJOY RBBS-PC.
Page 94 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
22.0 RBBS-PC's EXTERNAL PROTOCOL DRIVERS
----------------------------------------
RBBS-PC attempts to nurture the maximum amount of diversity and innovation
as possible. For this reason the source code has always been distributed.
The free exchange of information, on of RBBS-PC's two primary objectives
requires that communications occur. With PC's this communications is
electronic and electronic communications fosters a multiplicity of
"protocols" in which data can be exchanged. In order to provide advocates
of specific protocols a means of adding their particular flavor of
communications protocol to RBBS-PC a standard interface has been created.
Before calling protocol drivers, RBBS-PC will perform the following:
1. verify that the file exists if the file is to be downloaded.
2. verify that the file name requested is valid if the file is
to be uploaded.
3. pass the communications port to the vendor's protocol-
handling routine with the file opened and carrier detect on.
RBBS-PC will call the external protocol drivers either via the SHELL
command in BASIC or via a .BAT file.
22.1 Parameters passed to a protocol driver.
----------------------------------------------
RBBS-PC sets up a command string for a protocol driver as follows:
drive:path transfercommand nodeid
The drive and path are where the protocol driver is to be found (i.e.
C:\RBBS\KERMIT.EXE). The nodeid is the RBBS-PC node number (1 through 36).
The transfer command has the following format:
protocol [-x arg [-x arg]...[-yyy]..]]
where protocol is the name of the .EXE or .COM file that is to be invoked
as the protocol driver, x is an option that requires an argument and y is
an option with no argument.
The arguments passed are:
1.) Send or Receive indicator:
-s filename send a file named "filename"
or
-r filename receive a file named "filename"
2.) Communications port indicator:
-l comm port where "comm port" is COM1 or COM2
3.) Protocol indicator:
protocol where protocol = A for ASCII
X for XMODEM (checksum)
C for XMODEM (crc)
Y for YMODEM
I for IMODEM
G for YMODEM G
W for XMODEM (windowed)
N for KERMIT
Page 95 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
4.) Communication speed indicator:
-b baud where baud = 300
450
1200
2400
4800
9600
19200
5.) Maximum window size indicator:
-m size where s is an integer between 1 and 31
(if not present the protocol driver uses its
own default window size)
6.) Parity indicator:
-p n where n indicates no parity 8 data bits 1 start bit
or and one stop bit
-n
To send a file named "A:\UTIL\TEST.BAS" using the protocol driver named
PCKERMIT.EXE for KERMIT located on drive C: in the DOS subdirectory named
\RBBS at 9600 baud on COM2 with the window size set to 31 the command would
be:
C:PCKERMIT -s A:\UTIL\TEST.BAS -l COM2 -c -b 9600 -p n -m 31
To send the same file in the same way using the protocol driver for
windowed XMODEM protocol driver named WXMODEM.EXE which can be found at the
same place as the KERMIT protocol driver the command would be:
C:WXMODEM -s A:\UTIL\TEST.BAS -l COM2 -c -b 9600 -p W -n
22.2 Parameters Returned by a Protocol Driver
----------------------------------------------
All protocol drivers are expected to return a file named XFER-xx where the
value for xx is the node ID (1 to 36).
This file may be either of two formats. It may consists of four records
with each record having the parameters (i.e. parm1) surrounded by a double
quote (i.e. ") and the record ending with a carriage return. An example of
this type of format would be:
"parm1"
"parm2"
"parm3"
"parm4"
The second format that this file may have is a single record with each
parameter beginning and ending with a double quote (i.e. ") separated by
commas and the record ending with a carriage return. An example of this
type of format would be:
"parm1","parm2","parm3","parm4"
The only parameter of significance to RBBS-PC is the first letter of the
fourth parameter. If it begins with an upper-case "S", RBBS-PC considers
the file to have been successfully transferred. The other parameters may
be anything the protocol driver might find useful (i.e. file name, size,
date/time).
Page 96 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
22.3 The Protocol Drivers Available for RBBS-PC
------------------------------------------------
RBBS-PC currently has the following protocol drivers available for RBBS-PC:
22.3.1 Columbia University's KERMIT Protocol
--------------------------------------------
PCKERMIT.EXE is supplied by The Source as a public service and consists
of sliding window KERMIT protocol. The development of "windowing"
within the KERMIT architecture (i.e. Super KERMIT) was funded by The
Source and implemented by Larry Jordan and Jan van der Eijk.
The "windowing" is simply the number of blocks that can be sent before
a positive acknowledgment is needed. In packet switching networks
(such as Telenet and PC-Pursuit) where it takes a one-byte "ack" the
same amount of time to travel back to the sender as a whole block, it
is obvious that the efficiency is in reducing such handshaking between
the sender and the receiver as much as possible.
KERMIT has many similarities with RBBS-PC. It's source code is freely
available to all, yet it is not in the "public domain." Columbia
University holds the copyright and maintains the Kermit protocol. Like
RBBS-PC, Columbia University allows KERMIT to be passed along to others
and "ask only that profit not be your goal, credit be given where it is
due, and that new material be sent back to us so that we can maintain a
definitive and comprehensive set of KERMIT implementations".
PCKERMIT.EXE is not a terminal program. It simply implements the
Kermit protocol, including the sliding window extension. It will work
with older "Kermit Classic" implementations as well, via automatic
negotiation between the two Kermit programs. PCKERMIT.EXE runs as a
"one-shot" execution then returns to RBBS-PC. PCKERMIT does not
establish a carrier with a remote system. The connection is
established by RBBS-PC, RBBS-PC then drops to DOS without disconnecting
and invokes PCKERMIT.EXE. Since the documentation supplied by The
Source with PCKERMIT.EXE explains the characters that are displayed and
the keyboard control available to the local SYSOP during KERMIT file
transfers, it is not replicated here.
22.3.2 YMODEM, YMODEMG, and IMODEM
----------------------------------
QMXFER.COM is supplied by The Forbin Project as a public service and
supports five different protocols -- XMODEM (checksum), XMODEM (cylical
redundancy check), YMODEM, YMODEMG, and IMODEM. QMXFER was implemented
by John Friel III, author of QMODEM. YMODEM and YMODEMG are protocols
designed by Chuck Frosberg. IMODEM is a protocol designed by John
Friel. The later two are designed to work when the link between the
two modems is "error free" (i.e. both modems have the MNP protocol
built in)> QMXFER.COM runs as a "one-shot" execution then returns to
RBBS-PC. QMXFER does not establish a carrier with a remote system.
The connection is established by RBBS-PC, RBBS-PC then drops to DOS
without disconnecting and invokes QMXFER.COM
22.3.3 Windowed XMODEM
----------------------
WXMODEM.COM is supplied by The Forbin Project as a public service and
supports the window XMODEM protocol designed by Pete Boswell. Like all
of RBBS-PC's protocol drivers, WXMODEM.COM runs as a "one-shot"
execution then returns to RBBS-PC. WXMODEM does not establish a
carrier with a remote system. The connection is established by RBBS-
PC, RBBS-PC then drops to DOS without disconnecting and invokes
WXMODEM.COM
Page 97 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
23.0 UPLOADED FILE TIPS
-----------------------
If someone uploads a BASIC file to you, and it will not list on your screen
using the DOS TYPE command, you should go into BASIC, load the file, list
it, then resave it using the same name. If when you try to load the file
into the BASIC interpreter you get a `Direct Statement In File' error
printed on the screen, the BASIC file has a line without a line number.
This will not interfere with the resaving of the file unless the direct
statement is at the beginning of the file; if the file lists properly,
then the direct statement is at the end of the file. If the file does
not list properly, then the direct statement is at the beginning of the
file and has to be removed using a text editor (EDLIN) before the program
can be loaded and run.
Do not attempt to save a BASIC file after getting the `Direct Statement In
File' error during loading without listing the program first; you will
destroy the file otherwise. If you wish to load an uploaded file (a BASIC
program or any other text file) into a text editor to change the content of
the file, you will first have to first add line feeds to the end of each
line (after each carriage return).
Finally, every SYSOP should assume that any uploaded file him that can
be executed (i.e. .BAS, .COM, .EXE) has the capability of destroying all
the files available to the PC it is executed on. This may be because the
documentation is in error, the program was executed incorrectly, or the
program was designed to be malicious. It behooves every SYSOP to know
what every uploaded file does in order to protect not only the RBBS-PC
system, but its users.
24.0 DUE WARNING AND SYSOP'S LEGAL LIABILITY
--------------------------------------------
While no definitive case-law or legislation exists defining the liabilities
of System Operators, every SYSOP should assume that they are as responsible
for their own actions when running an electronic bulletin board system as
they would be for any other action as a citizen of the United States who
chooses to exercise their right to freedom of speech. One of the unique
features of RBBS-PC is that users have to OVERTLY register themselves --
even when the RBBS-PC is "open" to the general public. This gives each
SYSOP the opportunity to give every user "due notice" and require each user
to actively acknowledge such notice. For some SYSOP's it is simply the
rules of their board. For me, the following is what I use as the text in
my NEWUSER file:
"Welcome to the world of RBBS-PC! Before continuing you
should understand your responsibilities as a RBBS-PC user.
Specifically they are:
1. Actively encourage and promote the free exchange and
discussion of information, ideas and opinions, except when the
content would compromise the national security of the United
States; violate proprietary rights, personal privacy, or
applicable state/federal/local laws and regulations affecting
telecommunications; or constitute a crime or libel.
2. Use your real name and fully disclose any personal,
financial, or commercial interest when evaluation any specific
product or service.
3. Adhere to these rules and notify me immediately when you
discover any violations of the rules.
Page 98 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
FURTHER every user explicitly acknowledges that all information
obtained from this RBBS-PC is provided "as is" without warranty of
any kind, either expressed or implied, including, but not
limited to the implied warranties of merchantability and fitness
for a particular purpose and that the entire risk of acting on
information obtained from this RBBS-PC, including the entire
costs of all necessary remedies, is with those who choose to act
on such information and not the operator of this RBBS-PC.
Register if you agree."
This won't protect you from prosecution if you allow your RBBS-PC to be
used for criminal activities. However, it does serve to cause each user to
voluntarily and OVERTLY accept my "rules" and allows me to sleep better at
night knowing that I have given "due notice." My own personal philosophy
is to actively pursue and prosecute ANY user on my board who I find
engaging in what appears to be a violation of the above notice.
Essentially, if you are going to run an RBBS-PC open to the general public
as I do, your board's reputation and standards must be able to withstand
public scrutiny. If you don't feel you can maintain such standards, either
don't run a RBBS-PC or run a very, very private one (and be sure to put all
your assets in the wife's and kid's names).
Since I'm not a lawyer, if you want a legal opinion on your liabilities as
a SYSOP your only source of legal advice should be an attorney licensed to
practice in your state. Just remember it may not be the best advice and
that the legal liabilities regarding the operation of bulletin board
systems is unclear.
25.0 COMPILING AND LINKING RBBS-PC
----------------------------------
RBBS-PC source code is distributed along with the executable program RBBS-
PC.EXE. It is NOT necessary to recompile or re-link RBBS-PC in order to
utilize RBBS-PC. However, some users may wish to modify the source and
recompile it. This section is intended for those hardy few who choose to
do so. Remember only what is distributed is supported -- anything else is
strictly yours to debug!
RBBS-PC's source code is compilable by the IBM BASIC Compiler Version 2.0
as released by IBM and with the IBM updates to it through 11/22/85.
Subsequent patches released by IBM for the Version 2.0 compiler appear to
disable the compiler to the point where it can not compile RBBS-PC. RBBS-
PC's source code is compilable by Microsoft's QuickBASIC Compiler -- both
version 1.0 and version 1.02. However Microsoft's QuickBASIC Compiler
version 1.01 appears to be unable to compile RBBS-PC. Microsoft's
QuickBASIC Compiler version 2.0 generates faster code than the earlier
versions but has some bugs of its own that cause strange results if you
have ANSI.SYS option activated (from RBBS-PC's CONFIG) or if you use the
PgUp or PgDn keys as described. QuickBASIC Compiler Version 2.01 seems to
have corrected the problems encountered with 2.0.
25.1 Compiling CONFIG and RBBS-PC
---------------------------------
Version CPC15-1B of RBBS-PC's .EXE file is distributed after having been
compiled with QuickBASIC Version 2.01 compiler that had the DTR patch
described in Appendix R applied to it.
CONFIG.EXE is generated from compiling with multiple BASIC source files --
CNFG-VAR.BAS, CONFIG.BAS, CNFG-SUB.BAS. The output of the multiple compiles
(CONFIG.OBJ and CNFG-SUB.OBJ) generate multiple .OBJ input files to the
LINK step that create CONFIG.EXE.
Page 99 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
The BASIC compiler command to compile for all but the QuickBASIC version
2.0 compiler should be:
BASCOM CONFIG.BAS,, /E/O/C:2048;
BASCOM CNFG-SUB.BAS,, /E/O;
The command for QuickBASIC version 2.0 is slightly different and should be:
QB CONFIG.BAS /E /O /C:2048;
QB CNFG-SUB.BAS /E /O;
Compiling CONFIG requires that CNFG-VAR.BAS be in the sub-directory from
which they are being compiled.
RBBS-PC.EXE is generated from compiling with multiple BASIC source files --
RBBS-VAR.BAS, RBBS-PC.BAS, RBBSSUB1.BAS, RBBSSUB2.BAS. The output of the
multiple compiles (RBBS-PC.OBJ, RBBSSUB1.OBJ, and RBBSSUB2.OBJ) generate
multiple .OBJ input files to the LINK step that, along with some other .OBJ
files, create RBBS-PC.EXE.
The BASIC compiler command for all but the QuickBASIC version 2.0 compiler
should be:
BASCOM RBBS-PC.BAS,, /E/C:4096/O;
BASCOM SB1151A.BAS,, /X/C:4096/O;
BASCOM SB2151A.BAS,, /O;
The command for QuickBASIC version 2.0 is slightly different and should be:
QB RBBS-PC.BAS /E /C:4096 /O;
QB RBBSSUB1.BAS /X /C:4096 /O;
QB RBBSSUB2S.BAS /O;
If you are utilizing the IBM BASIC compiler Version 2.0, you will need to
also use the /N parameter when compiling.
Compiling RBBS-PC requires that RBBS-VAR.BAS be in the sub-directory from
which they are being compiled.
The BASIC compiler library routines have a NASTY bug in them for those who
would like to allow KERMIT protocol to be used, exit to DOS as a remote
SYSOP, or exit to a "door."
If you re-compile RBBS-PC and desire to utilize any of these three RBBS-PC
functions, YOU MUST patch your compiler's libraries as described in
Appendix R.!
25.2 LINKing CONFIG
-------------------
CONFIG.OBJ can be LINKed to produce CONFIG.EXE with the command
LINK CONFIG+CNFG-SUB+RBBSUTIL+xxxCOM,CONFIG.EXE,,C:/E;
assuming that all the required files are on the C drive.
NOTE: xxxCOM must be replaced with GWCOM if using the QuickBASIC compiler
and IBMCOM if using the IBM Version 2.0 compiler. Also, if using
the QuickBASIC compiler you may also want to link with the .OBJ file
that accompanies the compiler called PREFIX.
Page 100 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
25.3 LINKing RBBS-PC
--------------------
RBBS-PC.OBJ can be LINKed to produce RBBS-PC.EXE with the LINKer command
(all on one line):
LINK RBBS-PC+RBBSSUB1+RBBSSUB2+xxxCOM+QBARCV2+ANSI+XMODEM+RBBSML+BDRIVEC2+
PC-NET+10NET+RBBSUTIL+RBBSDV+PREFIX,,,/MAP/LINE;
NOTE: xxxCOM must be replaced with GWCOM if using the QuickBASIC compiler
and IBMCOM if using the IBM Version 2.0 compiler. PREFIX is only
required if linking with Microsoft's QuickBASIC compiler output.
XMODEM.OBJ and RBBSUTIL.OBJ are different .OBJ from earlier
versions OF RBBS-PC. MAKE SURE YOU HAVE THE CORRECT ONE!
The above LINK command assumes that all the necessary .OBJ files are on the
default drive and the necessary .LIB files are on the "C" drive.
26.0 LIMITED LICENSE
--------------------
The RBBS-PC software is copyrighted but A LIMITED LICENSE IS GRANTED and
each user is free to use and share it under the following conditions:
1. You may NOT distribute RBBS-PC in modified form.
2. You may NOT charge a fee for RBBS-PC itself, and
3. You MUST retain all references to the copyright and authors.
Please distribute the original version (or update thereof) of the program.
If you have changes please distribute them using the conventions described
in section 1.4. This is necessary so that future revisions can be
easily added to the system without requiring the entire program.
Please do NOT resequence the program. All revisions will be as files that
replace the base program or update thereof and the existing line numbers
will be referenced when describing new fixes and enhancements.
27.0 LIMITED WARRANTY
---------------------
The RBBS-PC program is provided "as is" without warranty of any kind,
either expressed or implied, including but not limited to the implied
warranties of merchantability and fitness for a particular purpose. The
entire risk as to the the quality and performance of the program is with
the user, and should the program prove defective, the user and not
the authors will assume the entire cost of all necessary remedies. None
of the authors warrant that the functions contained in the program will
meet any users' requirements or that the operation of the
program will be uninterrupted or error-free. In any case, each
author's entire liability will be limited to the total amount of money
the individual user paid directly and explicitly to each author for the
use of RBBS-PC.
28.0 UPGRADING FROM CPC14-1D TO CPC15-1B
----------------------------------------
Before upgrading from CPC14-1D to CPC15-1B, you should follow these five
steps:
1. Create backup files of all your current USERS, MESSAGES, and
RBBSxPC.DEF files.
2. Print out all the options you selected on your current RBBSxPC.DEF
file.
Page 101 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
3. Delete your current RBBSxPC.DEF file.
4. Run CONFIG, version 3.02 and re-enter the options you had selected.
5. If you have a Hayes 2400 modem make sure that you use CONFIG
to initialize the Hayes 2400 default settings.
PLEASE NOTE!!!!! ---- CPC15-1B has a new CONFIG.BAS (version 3.02) that
replaces the older versions of CONFIG.BAS and the .DEF files that they
created! While CPC14-1D's .DEF file (from CONFIG.BAS version 2.20) may
appear to work, you will get unusual results. CPC15-1A's .DEF file (from
CONFIG.BAS version 3.01) is compatible with 15-1B. Some of the new options
in 15-1B are not available in version 3.01 of CONFIG -- only in version
3.02!
If you wish to convert to the new File Management System (FMS), follow the
documentation included with the utilities in CNVDIR.ARC. If you haven't
run RBBS-PC, prior to receiving 15-1B, there is no need to use the files
contained in CNVDIR.ARC.
29.0 PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE
----------------------------------------------------
As PC's (IBM's and others) become more common in homes and offices,
their use as vehicles for information exchange continues to grow -- as
so eminently attested by the astounding growth of RBBS-PC itself! A
national meeting of SYSOP's could foster this growth in information
exchange; assist in focusing on the issues (regulatory and otherwise)
that foster/inhibit this growth; and act as a forum for new ideas. A
national meeting, perhaps sponsored by the Capital PC User Group or
even a consortium of other not-for-profit PC user groups could be held .
SYSOP's are not only in the big corporations but also in the millions
of small businesses, non-profit associations, educational
institutions in which the RBBS-PC concept has found a home. They are
often the decision influencers in their organizations or area -- as U.S.
Robotics discovered when they introduced their Courier 2400 baud modem so
successfully. As I expect most who would attend would be paying their own
way, the first conference would probably consist of that small
"band of brothers" who have set up boards out of the intensity of
their own commitment.
My own vision of such a conference is sort of a 1980's electronic
"Woodstock" -- if for no other reason because of the very "volks"
nature of SYSOPS. It has been a long time since there has been a
conference "of the people, by the people, and for the people."
What follows is a hypothetical agenda of what might be of interest at such
a conference. The agenda consists of a "technical" and a "non-technical"
(management?) set of sessions as follows:
"technical sessions" "non-technical sessions"
8:30 - 10:00 RBBS-PC Record Layouts How to Copyright Software --
(CALLERS, USERS, and its protection and penalties
MESSAGES files) for violation of copyrights.
10:30 - 12:00 Multi-Port RBBS-PC 1986 Computer Privacy Act and
Systems -- actual "computer trespass" laws at
experiences. the State level.
Page 102 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
12:00 - 1:30 Luncheon with a nationally known guest
speaker (any suggestions?)
1:30 - 3:00 RBBS-PC "doors" and Business Applications of
"doorware" explained. Bulletin Board Systems
3:30 - 5:00 Modems -- beyond 2400 The use of RBBS-PC in local,
baud. State, and Federal agencies.
5:00 - 6:30 CONNECT TIME! -- Vendor Presentations
and Receptions
If you are with a manufacturer or organization that might be interested
in sponsoring such a meeting, work with your organization to make it
happen! If in the normal course of your business contacts you see a
potential sponsor of such a conference, persuade them to look into
being a sponsor. I would be glad to talk with anyone about going forward
with this project.
If you are interested in participating, write me at the following address:
Tom Mack
National SYSOP Conference
10210 Oxfordshire Road
Great Falls, Virginia 22066
Please indicate
1. Which four sessions you would attend (in order
of preference).
2. Any additional sessions you would be interested in.
3. Who would you want as a guest speaker at the
luncheon.
4. Where you would like such a conference held
from among the following five locations:
a.) Boston, Mass.
b.) Chicago, Ill.
c.) Houston, Texas
d.) San Francisco, Calif.
e.) Washington, D.C.
5. Your mailing address.
6. Telephone numbers you can be reached at (both voice
and data).
7. And if you would be willing to be a "worker" as
well as an attendee -- i.e. stuff envelopes, keep
the mailing list, make hotel arrangements, etc.
My greatest fear is not that there will be fifty of us -- but that there
will be 2,000 of us! Whatever happens, it should be fun.
30.0 RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD
---------------------------------------------------------
RBBS-PC'S "Userware" concept is founded on the principle stated in section
1.0 -- "software which is shared becomes better than it was." Relying on
Page 103 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Federal copyright protection, it is my firm belief that RBBS-PC's source
code can be distributed without the risk of "loss of ownership" (i.e. it
becoming "public domain"). In fact I think that all software (commercial
and non-commercial) should be distributed as both compiled/executable files
and with their source code. With one exception, RBBS-PC's copyrights have
never been violated -- this is due more to the fact that RBBS-PC
enthusiasts are ever-vigilant of RBBS-PC's copyrights rather than due to
any lack of attempts to "sell" RBBS-PC or RBBS-PC look-alikes to the
unsuspecting public.
Incorporating these new features and ideas into each new release of RBBS-
PC, making sure that upward compatibility with earlier version of RBBS-PC
exists, as well as maintaining RBBS-PC's copyright, are all things that I
accept the responsibility for. However, it is RBBS-PC's "support staff"
(i.e. all those who enhance RBBS-PC and share such enhancements) that
continues to make RBBS-PC a unique experiment in PC software.
No one should feel that the possibilities for RBBS-PC have even begun to be
exhausted. In fact, I am absolutely certain that even as this is written
innovative enhancements are being created for RBBS-PC that I haven't even
mentioned. It is my sincerest hope that if RBBS-PC continues to succeed
within the IBM PC industry in becoming the "bulletin-board standard,"
software vendors will begin examining the reasons for RBBS-PC's success and
come to understand that
1. The best form of software support is user support;
2. The best source for software enhancements are from it's users;
3. The best software continually adopts itself to users needs; and
4. The best way to minimize software development is to distribute
source code;
Each RBBS-PC system operator has the opportunity to affect what RBBS-PC
becomes in the future. Many already have. RBBS-PC continues to grow and
expand because hundreds (and quite possibly thousands) of SYSOP's spend the
time and trouble not only to modify RBBS-PC to meet their needs, but also
to share these modifications with others. I do not know of any other
software for the IBM PC that has such a vast number of programmers
supporting it. In section 1.3, I name more than 70 such individuals and
acknowledge that there are a lot more! With the structured design RBBS-
PC's source code that the new BASIC compilers allowed, even more RBBS-PC
system operators are invited to contribute. Take the time! Make the
difference!
Page 104 of 149